/* KudiCompass — loan-app checker ([kudi_loan_app_checker]) */

.kc-lac {
	--kc-lac-good: var(--kc-success, #16a34a);
	--kc-lac-good-bg: #ecfdf3;
	--kc-lac-caution: var(--kc-warning, #d97706);
	--kc-lac-caution-bg: #fff7e6;
	--kc-lac-bad: var(--kc-danger, #dc2626);
	--kc-lac-bad-bg: #fef1f1;
	display: grid;
	gap: var(--kc-space-6, 24px);
	margin: 0 auto;
	max-width: 880px;
	color: var(--kc-on-surface, #131b2e);
}

.kc-lac .material-symbols-outlined {
	font-size: 1.15em;
	line-height: 1;
	vertical-align: -0.15em;
}

/* Intro + search */

.kc-lac__intro {
	background: var(--kc-surface-container-lowest, #fff);
	border: 1px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-xl, 1rem);
	box-shadow: var(--kc-shadow-md);
	padding: clamp(20px, 4vw, 36px);
}

.kc-lac__eyebrow {
	align-items: center;
	color: var(--kc-primary, #006b3f);
	display: inline-flex;
	font-size: 0.8rem;
	font-weight: 700;
	gap: 6px;
	letter-spacing: 0.06em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.kc-lac__title {
	font-family: var(--kc-font-headline);
	font-size: clamp(1.6rem, 4.5vw, 2.2rem);
	line-height: 1.15;
	margin: 0 0 10px;
}

.kc-lac__lede {
	color: var(--kc-on-surface-variant, #3e4a41);
	margin: 0 0 20px;
	max-width: 60ch;
}

.kc-lac__form {
	display: flex;
	gap: 8px;
}

.kc-lac__input {
	border: 2px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-lg, 0.75rem);
	flex: 1 1 auto;
	font-size: 1rem;
	min-width: 0;
	padding: 14px 16px;
}

.kc-lac__input:focus {
	border-color: var(--kc-primary, #006b3f);
	outline: none;
}

.kc-lac__submit {
	align-items: center;
	background: var(--kc-primary, #006b3f);
	border: 0;
	border-radius: var(--kc-radius-lg, 0.75rem);
	color: var(--kc-on-primary, #fff);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	font-weight: 700;
	gap: 6px;
	padding: 0 20px;
}

.kc-lac__submit:hover,
.kc-lac__submit:focus-visible {
	background: var(--kc-primary-container, #008751);
}

.kc-lac__meta {
	color: var(--kc-outline, #6e7a70);
	font-size: 0.85rem;
	margin: 12px 0 0;
}

@media (max-width: 560px) {
	.kc-lac__form {
		flex-direction: column;
	}

	.kc-lac__submit {
		justify-content: center;
		padding: 14px 20px;
	}
}

/* Totals */

.kc-lac__stats {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.kc-lac__stats li {
	background: var(--kc-surface-container-low, #f2f3ff);
	border-left: 4px solid var(--kc-lac-good);
	border-radius: var(--kc-radius-md, 0.5rem);
	padding: 12px 14px;
}

.kc-lac__stats li.is-caution { border-left-color: var(--kc-lac-caution); }
.kc-lac__stats li.is-bad { border-left-color: var(--kc-lac-bad); }

.kc-lac__stats strong {
	display: block;
	font-family: var(--kc-font-headline);
	font-size: 1.5rem;
}

.kc-lac__stats span {
	color: var(--kc-on-surface-variant, #3e4a41);
	font-size: 0.85rem;
}

/* Verdict */

.kc-lac__result:empty { display: none; }
.kc-lac__result.is-loading { opacity: 0.55; transition: opacity 0.15s; }

.kc-lac-verdict {
	background: var(--kc-lac-good-bg);
	border: 2px solid var(--kc-lac-good);
	border-radius: var(--kc-radius-xl, 1rem);
	padding: clamp(18px, 3vw, 28px);
}

.kc-lac-verdict.is-caution { background: var(--kc-lac-caution-bg); border-color: var(--kc-lac-caution); }
.kc-lac-verdict.is-bad { background: var(--kc-lac-bad-bg); border-color: var(--kc-lac-bad); }

.kc-lac-verdict__head {
	align-items: center;
	display: flex;
	gap: 14px;
}

.kc-lac-verdict__icon {
	color: var(--kc-lac-good);
	font-size: 2.6rem !important;
}

.is-caution .kc-lac-verdict__icon { color: var(--kc-lac-caution); }
.is-bad .kc-lac-verdict__icon { color: var(--kc-lac-bad); }

.kc-lac-verdict__status {
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	margin: 0;
	text-transform: uppercase;
}

.kc-lac-verdict__name {
	font-family: var(--kc-font-headline);
	font-size: 1.5rem;
	margin: 2px 0 0;
	overflow-wrap: anywhere;
}

.kc-lac-verdict__summary {
	font-size: 1.05rem;
	margin: 14px 0;
}

.kc-lac-verdict__facts {
	display: grid;
	gap: 8px;
	margin: 0 0 14px;
}

.kc-lac-verdict__facts div {
	display: grid;
	gap: 2px 12px;
	grid-template-columns: minmax(120px, 170px) 1fr;
}

.kc-lac-verdict__facts dt {
	color: var(--kc-on-surface-variant, #3e4a41);
	font-size: 0.85rem;
}

.kc-lac-verdict__facts dd {
	font-weight: 600;
	margin: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 480px) {
	.kc-lac-verdict__facts div { grid-template-columns: 1fr; }
}

.kc-lac-verdict__advice p,
.kc-lac-verdict__more p { margin: 0 0 8px; }

.kc-lac-verdict__more ul {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.kc-lac-verdict__more li {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
}

.kc-lac-verdict__more small { color: var(--kc-outline, #6e7a70); }

.kc-lac-verdict__foot {
	border-top: 1px solid rgba(19, 27, 46, 0.1);
	color: var(--kc-on-surface-variant, #3e4a41);
	font-size: 0.82rem;
	margin: 12px 0 0;
	padding-top: 10px;
}

.kc-lac-pill {
	background: var(--kc-lac-good-bg);
	border-radius: var(--kc-radius-full, 9999px);
	color: #166534;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 2px 9px;
	white-space: nowrap;
}

.kc-lac-pill.is-caution { background: var(--kc-lac-caution-bg); color: #92400e; }
.kc-lac-pill.is-bad { background: var(--kc-lac-bad-bg); color: #991b1b; }

/* Alternatives */

.kc-lac-alts { margin-top: var(--kc-space-6, 24px); }

.kc-lac-alts__title {
	font-family: var(--kc-font-headline);
	font-size: 1.15rem;
	margin: 0 0 12px;
}

.kc-lac-alts__grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.kc-lac-alt {
	background: var(--kc-surface-container-lowest, #fff);
	border: 1px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-lg, 0.75rem);
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px;
}

.kc-lac-alt__name {
	font-weight: 800;
	margin: 0;
}

.kc-lac-alt .kc-lac-pill { align-self: flex-start; }

.kc-lac-alt__fact {
	color: var(--kc-on-surface-variant, #3e4a41);
	font-size: 0.9rem;
	margin: 0;
}

.kc-lac-alt__actions {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 8px;
}

.kc-lac-alt__cta {
	background: var(--kc-primary, #006b3f);
	border-radius: var(--kc-radius-md, 0.5rem);
	color: var(--kc-on-primary, #fff) !important;
	font-weight: 700;
	padding: 8px 14px;
	text-decoration: none !important;
}

.kc-lac-alts__note {
	color: var(--kc-outline, #6e7a70);
	font-size: 0.82rem;
	margin: 10px 0 0;
}

/* Report, changes, register, FAQ */

.kc-lac-report,
.kc-lac-changes,
.kc-lac-register,
.kc-lac-faq {
	background: var(--kc-surface-container-lowest, #fff);
	border: 1px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-xl, 1rem);
	padding: 18px clamp(16px, 3vw, 24px);
}

.kc-lac-report summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-weight: 700;
	gap: 8px;
}

.kc-lac-report form {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}

.kc-lac-report label {
	display: grid;
	font-size: 0.9rem;
	font-weight: 600;
	gap: 4px;
}

.kc-lac-report input,
.kc-lac-report select,
.kc-lac-report textarea {
	border: 1px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-md, 0.5rem);
	font: inherit;
	font-weight: 400;
	padding: 10px 12px;
}

.kc-lac-report button {
	background: var(--kc-inverse-surface, #283044);
	border: 0;
	border-radius: var(--kc-radius-md, 0.5rem);
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	justify-self: start;
	padding: 10px 18px;
}

.kc-lac-report button:disabled { opacity: 0.6; }

.kc-lac-report__status:empty { display: none; }

.kc-lac-changes h3,
.kc-lac-register h3,
.kc-lac-faq h3 {
	font-family: var(--kc-font-headline);
	font-size: 1.15rem;
	margin: 0 0 10px;
}

.kc-lac-changes ul {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kc-lac-changes li {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
}

.kc-lac-changes time {
	color: var(--kc-outline, #6e7a70);
	font-size: 0.85rem;
	min-width: 48px;
}

.kc-lac-register > p {
	color: var(--kc-on-surface-variant, #3e4a41);
	font-size: 0.9rem;
	margin: 0 0 12px;
}

.kc-lac-register__group {
	border-top: 1px solid var(--kc-surface-container-high, #e2e7ff);
	padding: 10px 0;
}

.kc-lac-register__group summary {
	cursor: pointer;
	font-weight: 700;
}

.kc-lac-register__group summary span {
	color: var(--kc-outline, #6e7a70);
	font-weight: 400;
}

.kc-lac-register__group ul {
	columns: 2 280px;
	column-gap: 28px;
	font-size: 0.88rem;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.kc-lac-register__group li {
	break-inside: avoid;
	padding: 4px 0;
}

.kc-lac-register__group li strong,
.kc-lac-register__group li span { display: block; }

.kc-lac-register__group li span { color: var(--kc-on-surface-variant, #3e4a41); }

.kc-lac-faq details {
	border-top: 1px solid var(--kc-surface-container-high, #e2e7ff);
	padding: 10px 0;
}

.kc-lac-faq summary {
	cursor: pointer;
	font-weight: 700;
}

.kc-lac-faq p { margin: 8px 0 0; }

/* Article heading margins from the theme (.entry-content h2/h3) would push
   these apart; reset them inside the checker. */
.kc-lac .kc-lac__title { margin: 0 0 10px; }
.kc-lac .kc-lac-verdict__name { margin: 2px 0 0; }
.kc-lac .kc-lac-alts__title { margin: 0 0 12px; }

/* The checker has its own structure; the article table of contents only adds noise. */
body:has(.kc-lac) #ez-toc-container { display: none !important; }

/* Loan app pages (single-kc_loan_app.php) and verdicts on hand-written app pages */

.kc-lac--inline { margin: 0 0 var(--kc-space-8, 32px); max-width: none; }

.kc-loan-app__lede {
	color: var(--kc-on-surface-variant, #3e4a41);
	font-size: 1.05rem;
	margin: 8px 0 0;
}

.kc-loan-app__note,
.kc-lac-verdict__profile { font-size: 0.92rem; margin: 0; }

.kc-lac-verdict__profile { margin: 0 0 12px; }
.kc-lac-verdict__profile a { font-weight: 700; }

.kc-lac-related {
	background: var(--kc-surface-container-lowest, #fff);
	border: 1px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-xl, 1rem);
	padding: 18px clamp(16px, 3vw, 24px);
}

.kc-lac-related.is-warning { border-left: 4px solid var(--kc-lac-bad); }

.kc-lac .kc-lac-related h2,
.kc-lac .kc-lac-faq h2 {
	font-family: var(--kc-font-headline);
	font-size: 1.15rem;
	margin: 0 0 10px;
}

.kc-lac-related > p { margin: 0 0 10px; }

.kc-lac .kc-lac-related__list {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.kc-lac-related__list li {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
}

.kc-lac-related__list small { color: var(--kc-outline, #6e7a70); }

.kc-loan-app__check {
	background: var(--kc-surface-container-lowest, #fff);
	border: 1px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-xl, 1rem);
	padding: 18px clamp(16px, 3vw, 24px);
}

.kc-loan-app__check label {
	display: block;
	font-weight: 700;
	margin-bottom: 8px;
}

.kc-loan-app__check div { display: flex; gap: 8px; }

.kc-loan-app__check input {
	border: 2px solid var(--kc-outline-variant, #bdcabe);
	border-radius: var(--kc-radius-lg, 0.75rem);
	flex: 1 1 auto;
	font-size: 1rem;
	min-width: 0;
	padding: 12px 14px;
}

.kc-loan-app__check button {
	background: var(--kc-primary, #006b3f);
	border: 0;
	border-radius: var(--kc-radius-lg, 0.75rem);
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 0 18px;
}

.kc-loan-app__check p { font-size: 0.9rem; margin: 10px 0 0; }

.kc-lac--inline > * + * { margin-top: var(--kc-space-6, 24px); }
