/* Forsa Immo Business Checker - public styles */
.fbc-app {
	--fbc-primary: #0a6e5c;
	--fbc-primary-dark: #085144;
	--fbc-ok: #1a7f5a;
	--fbc-no: #b3261e;
	--fbc-warn: #9a6700;
	--fbc-bg: #ffffff;
	--fbc-line: #e5e7eb;
	--fbc-muted: #6b7280;
	--fbc-text: #1f2937;
	max-width: 760px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--fbc-text);
	line-height: 1.55;
	box-sizing: border-box;
}
.fbc-app *,
.fbc-app *::before,
.fbc-app *::after { box-sizing: inherit; }

.fbc-app__head { margin-bottom: 16px; }
.fbc-app__title { font-size: 1.5rem; margin: 0 0 6px; color: var(--fbc-primary-dark); }
.fbc-app__intro { margin: 0; color: var(--fbc-muted); font-size: 0.95rem; }

.fbc-tabs { display: flex; gap: 6px; border-bottom: 2px solid var(--fbc-line); margin: 14px 0 16px; }
.fbc-tab {
	background: none; border: 0; padding: 10px 14px; cursor: pointer;
	font-size: 0.95rem; color: var(--fbc-muted); border-bottom: 3px solid transparent;
	margin-bottom: -2px; transition: color .15s, border-color .15s;
}
.fbc-tab.is-active { color: var(--fbc-primary-dark); border-bottom-color: var(--fbc-primary); font-weight: 600; }

.fbc-panel { display: none; }
.fbc-panel.is-active { display: block; }

.fbc-label { display: block; font-size: 0.85rem; color: var(--fbc-muted); margin: 0 0 5px; font-weight: 600; }
.fbc-input, .fbc-select {
	width: 100%; padding: 11px 13px; font-size: 1rem; border: 1px solid var(--fbc-line);
	border-radius: 8px; background: #fff; color: var(--fbc-text); -webkit-appearance: none; appearance: none;
}
.fbc-input:focus, .fbc-select:focus { outline: none; border-color: var(--fbc-primary); box-shadow: 0 0 0 3px rgba(10,110,92,.12); }

.fbc-row { display: flex; gap: 12px; flex-wrap: wrap; }
.fbc-field { flex: 1 1 220px; }

.fbc-btn {
	display: inline-block; margin-top: 14px; padding: 11px 20px; font-size: 1rem; font-weight: 600;
	color: #fff; background: var(--fbc-primary); border: 0; border-radius: 8px; cursor: pointer; transition: background .15s;
}
.fbc-btn:hover { background: var(--fbc-primary-dark); }
.fbc-btn[disabled] { opacity: .6; cursor: default; }

.fbc-suggest { list-style: none; margin: 6px 0 0; padding: 0; border: 1px solid var(--fbc-line); border-radius: 8px; overflow: hidden; display: none; }
.fbc-suggest.is-open { display: block; }
.fbc-suggest li { padding: 10px 13px; cursor: pointer; border-bottom: 1px solid #f3f4f6; }
.fbc-suggest li:last-child { border-bottom: 0; }
.fbc-suggest li:hover, .fbc-suggest li.is-active { background: #f0faf7; }
.fbc-suggest .fbc-sg-name { font-weight: 600; }
.fbc-suggest .fbc-sg-meta { font-size: .82rem; color: var(--fbc-muted); }

/* Result card */
.fbc-result { margin-top: 18px; }
.fbc-card { border: 1px solid var(--fbc-line); border-radius: 12px; padding: 18px; background: var(--fbc-bg); box-shadow: 0 1px 3px rgba(0,0,0,.04); }
.fbc-card h3 { margin: 0 0 4px; font-size: 1.25rem; color: var(--fbc-primary-dark); }
.fbc-card h4 { margin: 18px 0 8px; font-size: .95rem; color: var(--fbc-primary-dark); border-bottom: 1px solid var(--fbc-line); padding-bottom: 5px; }

.fbc-kv { display: grid; grid-template-columns: 38% 1fr; gap: 4px 10px; font-size: .92rem; }
.fbc-kv dt { color: var(--fbc-muted); }
.fbc-kv dd { margin: 0; }

.fbc-badge { display: inline-block; padding: 6px 14px; border-radius: 16px; color: #fff; font-weight: 700; font-size: .92rem; }
.fbc-badge--ok { background: var(--fbc-ok); }
.fbc-badge--no { background: var(--fbc-no); }
.fbc-badge--warn { background: var(--fbc-warn); }

.fbc-legal { background: #f9fafb; border-radius: 8px; padding: 12px 14px; margin-top: 8px; font-size: .9rem; }
.fbc-legal p { margin: 4px 0; }
.fbc-legal .fbc-legal-k { color: var(--fbc-muted); font-weight: 600; }

.fbc-premises { display: flex; flex-direction: column; gap: 8px; }
.fbc-prem { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid var(--fbc-line); border-radius: 8px; flex-wrap: wrap; }
.fbc-prem-main { font-weight: 600; }
.fbc-prem-sug { color: var(--fbc-primary-dark); font-size: .88rem; }
.fbc-prem-surf { color: var(--fbc-muted); font-size: .85rem; }

.fbc-docs { margin: 0; padding-left: 18px; }
.fbc-docs li { margin: 3px 0; }

.fbc-sources { list-style: none; padding: 0; margin: 6px 0 0; font-size: .88rem; }
.fbc-sources li { margin: 3px 0; }
.fbc-sources a { color: var(--fbc-primary); word-break: break-word; }

.fbc-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.fbc-actions .fbc-btn { margin-top: 0; }
.fbc-btn--ghost { background: #fff; color: var(--fbc-primary-dark); border: 1px solid var(--fbc-primary); }
.fbc-btn--ghost:hover { background: #f0faf7; }
.fbc-btn--lead { background: #c2410c; }
.fbc-btn--lead:hover { background: #9a3412; }

.fbc-meta { margin-top: 12px; font-size: .78rem; color: var(--fbc-muted); }
.fbc-disclaimer { margin-top: 16px; font-size: .8rem; color: var(--fbc-muted); font-style: italic; }
.fbc-empty { color: var(--fbc-muted); padding: 10px 0; }
.fbc-error { color: var(--fbc-no); padding: 10px 0; }

@media (max-width: 540px) {
	.fbc-kv { grid-template-columns: 1fr; }
	.fbc-kv dt { margin-top: 6px; }
	.fbc-app__title { font-size: 1.3rem; }
	.fbc-actions .fbc-btn { width: 100%; text-align: center; }
}
