/* Finance — calculator styles. Inherits theme CSS variables. */

.fc-calc {
	--fc-border: var(--c-border, #e3e8ef);
	--fc-primary: var(--c-primary, #0a5bd3);
	--fc-surface: var(--c-surface, #f5f7fa);
	max-width: 760px;
	margin: 1.5rem 0;
}

.fc-calc__form {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}
@media (min-width: 560px) {
	.fc-calc__form { grid-template-columns: repeat(2, 1fr); }
}

.fc-field { display: flex; flex-direction: column; gap: .35rem; }
.fc-field label { font-weight: 600; font-size: .9rem; }
.fc-field input,
.fc-field select {
	padding: .65rem .75rem;
	border: 1px solid var(--fc-border);
	border-radius: 10px;
	font-size: 1rem;
	width: 100%;
	background: #fff;
}
.fc-field input:focus,
.fc-field select:focus { outline: 2px solid var(--fc-primary); border-color: var(--fc-primary); }

.fc-results {
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(2, 1fr);
	margin: 1.5rem 0;
}
@media (min-width: 560px) {
	.fc-results { grid-template-columns: repeat(3, 1fr); }
}
.fc-result {
	background: var(--fc-surface);
	border: 1px solid var(--fc-border);
	border-radius: 12px;
	padding: .9rem 1rem;
	display: flex; flex-direction: column; gap: .25rem;
}
.fc-result__label { font-size: .8rem; color: var(--c-muted, #5b6676); }
.fc-result__value { font-size: 1.15rem; font-weight: 700; }
.fc-result--primary {
	grid-column: 1 / -1;
	background: var(--fc-primary);
	border-color: var(--fc-primary);
	color: #fff;
}
.fc-result--primary .fc-result__label { color: rgba(255,255,255,.85); }
.fc-result--primary .fc-result__value { font-size: 1.6rem; }

.fc-toggle {
	background: none; border: 1px solid var(--fc-border);
	border-radius: 999px; padding: .5rem 1rem; cursor: pointer;
	font-weight: 600; color: var(--fc-primary);
}
.fc-toggle:hover { border-color: var(--fc-primary); }

.fc-schedule { margin-top: 1rem; overflow-x: auto; max-height: 420px; overflow-y: auto; border: 1px solid var(--fc-border); border-radius: 12px; }
.fc-schedule__table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.fc-schedule__table th, .fc-schedule__table td { padding: .5rem .6rem; text-align: right; border-bottom: 1px solid var(--fc-border); white-space: nowrap; }
.fc-schedule__table th:first-child, .fc-schedule__table td:first-child { text-align: left; }
.fc-schedule__table thead th { position: sticky; top: 0; background: var(--fc-surface); }

.fc-lead {
	margin-top: 2rem;
	padding: 1.5rem;
	border: 2px solid var(--fc-primary);
	border-radius: 16px;
	background: var(--fc-surface);
}
.fc-lead__title { margin: 0 0 .25rem; font-size: 1.3rem; }
.fc-lead__sub { margin: 0 0 1rem; color: var(--c-muted, #5b6676); }
.fc-lead__form { display: grid; gap: .75rem; grid-template-columns: 1fr; }
@media (min-width: 560px) { .fc-lead__form { grid-template-columns: repeat(3, 1fr); } }
.fc-lead__form input {
	padding: .65rem .75rem; border: 1px solid var(--fc-border); border-radius: 10px; font-size: 1rem;
}
.fc-btn {
	grid-column: 1 / -1;
	background: var(--fc-primary); color: #fff; border: 0;
	padding: .8rem 1.25rem; border-radius: 10px; font-size: 1rem; font-weight: 700; cursor: pointer;
}
.fc-btn:hover { filter: brightness(1.05); }
.fc-btn:disabled { opacity: .6; cursor: default; }
.fc-lead__msg { grid-column: 1 / -1; margin: 0; font-weight: 600; }
.fc-lead__msg.is-ok { color: var(--c-accent, #00a36c); }
.fc-lead__msg.is-error { color: #c0392b; }
.fc-lead__consent { grid-column: 1 / -1; margin: 0; font-size: .8rem; color: var(--c-muted, #5b6676); }

.fc-note { margin: 1rem 0 0; font-size: .85rem; color: var(--c-muted, #5b6676); }
