/* Kodelink Core lead form. Uses theme tokens when present, with fallbacks. */
.kl-form { display: flex; flex-direction: column; gap: 16px; }
.kl-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kl-form__field { display: flex; flex-direction: column; gap: 8px; }
.kl-form__field label { font-size: 14px; color: var(--kl-text-2, #CFCCE8); }
.kl-form__req { color: var(--kl-pink, #E7B4CF); }
.kl-form input:not([type="hidden"]), .kl-form select, .kl-form textarea {
	width: 100%; min-height: 50px; padding: 12px 16px; border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.14); background: rgba(255, 255, 255, 0.04);
	color: var(--kl-white, #fff); font: inherit; font-size: 16px;
}
.kl-form select { background-color: #17143A; }
.kl-form textarea { resize: vertical; min-height: 130px; }
.kl-form :is(input, select, textarea):focus { outline: none; border-color: var(--kl-teal, #22D3B6); box-shadow: 0 0 0 4px rgba(34, 211, 182, 0.18); }
.kl-form .has-error :is(input, textarea, select) { border-color: var(--kl-pink, #E7B4CF); }
.kl-form__error { margin: 0; font-size: 13.5px; color: var(--kl-pink, #E7B4CF); }
.kl-form__errors { padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(231, 180, 207, 0.4); background: rgba(231, 180, 207, 0.08); color: var(--kl-text, #EDEBFA); font-size: 15px; }
.kl-form__errors p { margin: 0; }
.kl-form__errors p + p { margin-top: 6px; }
.kl-form__submit { width: 100%; min-height: 56px; border: 0; cursor: pointer; }
.kl-form__submit[disabled] { opacity: 0.7; cursor: progress; }
.kl-form__note { margin: 0; font-size: 13px; color: var(--kl-text-3, #A9A6C7); }
.kl-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kl-form--sent { padding: 8px 4px; }
.kl-form__success-title { margin: 0 0 8px; font-family: var(--kl-font-display, inherit); font-size: 22px; font-weight: 700; color: var(--kl-white, #fff); }
.kl-form--sent p { margin: 0; color: var(--kl-text-2, #B9B6D6); }
@media (max-width: 560px) { .kl-form__row { grid-template-columns: minmax(0, 1fr); } }
