/*
 * Finobazaar DLC rate pages (1.1.0). Built on the theme's tokens and
 * components (fb-btn, fb-input, fb-notice, fb-table); values after the
 * commas are fallbacks only. Mobile first, no script.
 */
.fbd {
	--fbd-green: var(--fb-brand-green, #0b5f55);
	--fbd-green-dark: var(--fb-brand-green-dark, #084a42);
	--fbd-green-light: var(--fb-brand-green-light, #e3f0ed);
	--fbd-surface: var(--fb-brand-green-surface, #f1f7f5);
	--fbd-navy: var(--fb-heading, #13303f);
	--fbd-text: var(--fb-text, #1e2a30);
	--fbd-muted: var(--fb-text-2, #56626a);
	--fbd-line: var(--fb-border, #e6e1d7);
	--fbd-warn: #7a4b00;
	--fbd-warn-bg: #fff4e0;
	--fbd-err: #8a1c1c;
	--fbd-err-bg: #fdecec;
	--fbd-r: var(--fb-r-md, 12px);
	color: var(--fbd-text);
	font-size: 1rem;
	line-height: 1.6;
}
.fbd p { margin: 0 0 .75rem; }
.fbd h2 { font-size: 1.3125rem; line-height: 1.3; color: var(--fbd-navy); margin: 0 0 .75rem; }
.fbd h3 { font-size: 1.0625rem; line-height: 1.35; color: var(--fbd-navy); margin: 1.25rem 0 .5rem; }
.fbd-lead { font-size: 1.0625rem; color: var(--fbd-muted); max-width: 46rem; }
.fbd-muted { color: var(--fbd-muted); }
.fbd-small { font-size: .875rem; }
.fbd-optional { font-weight: 400; color: var(--fbd-muted); font-size: .875em; }
.fbd-sec { margin: 2rem 0; }
.fbd-more { font-weight: 600; color: var(--fbd-green); text-underline-offset: 3px; }
.fbd-list { margin: 0 0 1rem; padding-inline-start: 1.25rem; }
.fbd-list li { margin: 0 0 .4rem; }
.fbd-list li::marker { color: var(--fbd-green); }

/* Search */
.fbd-search { max-width: 36rem; }
.fbd-search__row { display: flex; gap: .5rem; flex-wrap: wrap; }
.fbd-search__row .fb-input { flex: 1 1 14rem; min-width: 0; }
.fbd-results { margin-top: 1rem; }

/* Place lists */
.fbd-plist { list-style: none; margin: 0 0 1rem; padding: 0; }
.fbd-plist li { padding: .5rem 0; border-bottom: 1px solid var(--fbd-line); }
.fbd-plist a { font-weight: 600; color: var(--fbd-green-dark); text-underline-offset: 3px; }
.fbd-plist--cols { columns: 1; column-gap: 2rem; }
@media (min-width: 40em) { .fbd-plist--cols { columns: 2; } }
@media (min-width: 64em) { .fbd-plist--cols { columns: 3; } }
.fbd-plist--cols li { break-inside: avoid; }

/* Cards (links) */
.fbd-cards { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .75rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .fbd-cards--2, .fbd-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64em) { .fbd-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.fbd-cards li { margin: 0; }
.fbd-card { display: flex; flex-direction: column; gap: .2rem; height: 100%; padding: 1rem 1.1rem; background: #fff; border: 1px solid var(--fbd-line); border-radius: var(--fbd-r); color: var(--fbd-text); text-decoration: none; box-sizing: border-box; }
a.fbd-card:hover { border-color: var(--fb-brand-green-line, #bfd9d3); }
a.fbd-card:focus-visible { outline: 3px solid var(--fb-focus, #084a42); outline-offset: 2px; }
.fbd-card__title { font-weight: 600; color: var(--fbd-green-dark); line-height: 1.35; }
.fbd-card__text { font-size: .9rem; color: var(--fbd-muted); line-height: 1.45; }
.fbd-card.is-current { border-color: var(--fbd-green); box-shadow: inset 0 0 0 1px var(--fbd-green); }

/* Actions */
.fbd-actions { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }

/* Filter */
.fbd-filter ul { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.fbd-filter a { display: inline-block; padding: .35rem .85rem; border: 1px solid var(--fbd-line); border-radius: 999px; color: var(--fbd-text); text-decoration: none; font-size: .9375rem; min-height: 24px; }
.fbd-filter a[aria-current="true"] { background: var(--fbd-green); border-color: var(--fbd-green); color: #fff; }
.fbd-filter a:focus-visible { outline: 3px solid var(--fb-focus, #084a42); outline-offset: 2px; }

/* Tables */
.fbd-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--fbd-line); border-radius: var(--fbd-r); }
.fbd-table { width: 100%; border-collapse: collapse; margin: 0; font-size: .9375rem; }
.fbd-table th, .fbd-table td { padding: .65rem .75rem; text-align: start; vertical-align: top; border-bottom: 1px solid var(--fbd-line); }
.fbd-table thead th { background: var(--fbd-surface); color: var(--fbd-navy); font-weight: 600; white-space: nowrap; }
.fbd-table tbody tr:last-child > * { border-bottom: 0; }
.fbd-table tbody th { font-weight: 600; }
.fbd-table a { color: var(--fbd-green-dark); text-underline-offset: 3px; }
.fbd-sub { display: block; font-size: .8125rem; font-weight: 400; color: var(--fbd-muted); line-height: 1.4; margin-top: .15rem; }
.fbd-rate { font-size: 1.0625rem; color: var(--fbd-navy); white-space: nowrap; font-variant-numeric: tabular-nums; }
.fbd-cond { color: var(--fbd-text); }

/* Small screens: rate table as stacked rows */
@media (max-width: 40em) {
	.fbd-table--rates thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.fbd-table--rates, .fbd-table--rates tbody, .fbd-table--rates tr, .fbd-table--rates th, .fbd-table--rates td { display: block; width: 100%; box-sizing: border-box; }
	.fbd-table--rates tr { border-bottom: 1px solid var(--fbd-line); padding: .5rem 0; }
	.fbd-table--rates tbody tr:last-child { border-bottom: 0; }
	.fbd-table--rates th, .fbd-table--rates td { border: 0; padding: .3rem .75rem; }
}

/* Verification */
.fbd-badge { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .8125rem; font-weight: 600; border: 1px solid currentColor; line-height: 1.4; }
.fbd-badge--official { color: var(--fbd-green-dark); background: var(--fbd-green-light); }
.fbd-badge--unverified { color: var(--fbd-warn); background: var(--fbd-warn-bg); }
.fbd-badge--recheck { color: var(--fbd-err); background: var(--fbd-err-bg); }

/* Sources */
.fbd-srclist { list-style: none; margin: 0; padding: 0; }
.fbd-srclist li { padding: .6rem 0; border-bottom: 1px solid var(--fbd-line); }

/* Pager */
.fbd-pager { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 1rem 0; }
.fbd-pager a { font-weight: 600; color: var(--fbd-green-dark); }

/* Notices */
.fbd-none { margin: 0 0 1.25rem; }
.fbd-disclaimer { margin-top: 2rem; font-size: .9375rem; }

/* Form */
.fbd-form { margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--fbd-line); border-radius: var(--fbd-r); background: #fff; }
.fbd-grid { display: grid; gap: 0 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40em) { .fbd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fbd-field { margin: 0 0 1rem; }
.fbd-error { color: var(--fbd-err); font-size: .875rem; margin: .25rem 0 0; }
.fbd-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fbd-place-chosen { font-weight: 600; }
.fbd-ok { border-color: var(--fbd-green); }

@media print {
	.fbd-services, .fbd-assoc, .fbd-filter, .fbd-search, .fbd-tools, .fbd-pager, .fb-faq { display: none !important; }
	.fbd-tablewrap { border: 0; overflow: visible; }
	.fbd-badge { border: 1px solid #000; background: none; color: #000; }
}

/* Theme overrides inside DLC pages */
.fbd a.fb-btn--primary, .fbd a.fb-btn--primary:visited, .fbd a.fb-btn--primary:hover { color: #fff; }
.fbd-actions li { max-width: 100%; }
.fbd .fb-btn { white-space: normal; max-width: 100%; text-align: center; box-sizing: border-box; }
.fbd-table th, .fbd-table td { overflow-wrap: anywhere; }
@media (max-width: 40em) {
	.fbd-table--rates { min-width: 0 !important; table-layout: auto; }
}
.fbd .fbd-cards, .fbd .fbd-plist, .fbd .fbd-srclist, .fbd .fbd-actions { padding-inline-start: 0; margin-inline-start: 0; }
.fbd .fbd-filter ul { padding-inline-start: 0; margin-inline-start: 0; }
.fbd .fbd-table { width: 100%; }
