/* ==========================================================================
   КНИИХП — Регистрация на семинар: стили формы и лендинга
   ========================================================================== */

/* --- Форма --- */
.kf-form-wrap {
	max-width: 640px;
	margin: 0 auto;
}

.kf-form {
	background: #fff;
	border: 1px solid #ccd5df;
	border-radius: 12px;
	padding: 28px;
	font-family: inherit;
	color: #1a1a1a;
}

.kf-form .kf-row {
	margin-bottom: 14px;
}

.kf-form label,
.kf-form .kf-label {
	display: block;
	font-weight: 600;
	margin-bottom: 5px;
	font-size: 14px;
}

.kf-required::after {
	content: " *";
	color: #c00;
}

.kf-form input[type="text"],
.kf-form input[type="email"],
.kf-form input[type="tel"],
.kf-form select,
.kf-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccd5df;
	border-radius: 6px;
	font-size: 15px;
	font-family: inherit;
}

.kf-form input[type="text"]:focus,
.kf-form input[type="email"]:focus,
.kf-form input[type="tel"]:focus,
.kf-form select:focus,
.kf-form textarea:focus {
	outline: 2px solid #1b32a5;
	outline-offset: 0;
	border-color: #1b32a5;
}

.kf-form textarea {
	min-height: 70px;
	resize: vertical;
}

.kf-form .kf-radios {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 4px;
}

.kf-form .kf-radios label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
	font-size: 14px;
}

.kf-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	margin: 16px 0 8px;
}

.kf-consent label {
	font-weight: 400;
}

.kf-submit {
	background: #0d4a8f;
	color: #fff;
	border: none;
	padding: 13px 24px;
	font-size: 16px;
	border-radius: 8px;
	cursor: pointer;
	width: 100%;
	font-weight: 700;
	font-family: inherit;
}

.kf-submit:hover {
	background: #0a3a70;
}

.kf-note {
	font-size: 12px;
	color: #60686f;
	margin-top: 8px;
}

.kf-error {
	color: #c00;
	font-size: 13px;
	margin-top: 4px;
	display: none;
}

.kf-error.kf-visible {
	display: block;
}

.kf-success {
	background: #e8f6ee;
	border: 1px solid #a9d8ba;
	color: #1e6b43;
	border-radius: 8px;
	padding: 16px 18px;
	margin-bottom: 20px;
	font-size: 15px;
}

.kf-hp {
	position: absolute;
	left: -9999px;
	opacity: 0;
	height: 0;
	width: 0;
}

/* --- Лендинг --- */
.kf-seminar {
	color: #1a1a1a;
}

.kf-seminar .kf-anchor-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	align-items: center;
	padding: 14px 20px;
	background: #fff;
	border-bottom: 1px solid #d7dfe6;
}

.kf-seminar .kf-anchor-nav a {
	color: #0d4a8f;
	text-decoration: none;
	font-size: 14px;
}

.kf-seminar .kf-anchor-nav a:hover {
	text-decoration: underline;
}

.kf-anchor-cta {
	background: #e8930c;
	color: #fff;
	padding: 8px 16px;
	border-radius: 8px;
	font-weight: 700;
}

.kf-hero {
	background: linear-gradient(180deg, #f2f6fb, #ffffff);
	color: #1a1a1a;
	padding: 56px 20px 64px;
}

.kf-hero-inner {
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 40px;
	align-items: center;
}

.kf-badge {
	display: inline-block;
	background: #e8f0fa;
	border: 1px solid #bcd3ea;
	color: #0d4a8f;
	padding: 5px 14px;
	border-radius: 20px;
	font-size: 13px;
	margin-bottom: 18px;
}

.kf-hero h1 {
	font-size: 30px;
	line-height: 1.25;
	margin: 0 0 14px;
	color: #0d4a8f;
}

.kf-hero-lead {
	font-size: 16px;
	color: #333;
	margin-bottom: 24px;
}

.kf-hero-meta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}

.kf-meta-item {
	background: #fff;
	border: 1px solid #ccd5df;
	border-radius: 8px;
	padding: 10px 16px;
	font-size: 14px;
}

.kf-meta-item strong {
	display: block;
	font-size: 17px;
	color: #0d4a8f;
}

.kf-hero-stats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.kf-stat-card {
	background: #fff;
	border-left: 4px solid #e8930c;
	border-radius: 8px;
	padding: 16px 18px;
	box-shadow: 0 4px 18px rgba(13, 74, 143, .08);
}

.kf-stat-card strong {
	display: block;
	font-size: 24px;
	color: #0d4a8f;
}

.kf-stat-card span {
	font-size: 14px;
	color: #333;
}

.kf-section {
	padding: 56px 20px;
}

.kf-section .kf-wrap {
	max-width: 1140px;
	margin: 0 auto;
}

.kf-section h2 {
	font-size: 24px;
	margin-bottom: 24px;
	color: #0d4a8f;
}

.kf-benefits {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.kf-benefit {
	background: #fff;
	border: 1px solid #ccd5df;
	border-radius: 8px;
	padding: 18px 20px;
}

.kf-benefit h3 {
	font-size: 16px;
	margin-bottom: 6px;
	color: #20465a;
}

.kf-benefit p {
	font-size: 14px;
	color: #444;
}

.kf-program {
	list-style: none;
	counter-reset: kf;
	margin: 0;
	padding: 0;
}

.kf-program li {
	counter-increment: kf;
	display: flex;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid #e3e9ef;
	font-size: 15px;
}

.kf-program li::before {
	content: counter(kf);
	flex: 0 0 28px;
	height: 28px;
	border-radius: 50%;
	background: #e8930c;
	color: #fff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}

.kf-terms {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
}

.kf-term {
	background: #fff;
	border: 1px solid #ccd5df;
	border-radius: 8px;
	padding: 16px 18px;
}

.kf-term strong {
	display: block;
	color: #0d4a8f;
	margin-bottom: 4px;
}

.kf-term span {
	font-size: 14px;
	color: #444;
}

.kf-price-note {
	margin-top: 20px;
	padding: 14px 18px;
	background: #fff7e8;
	border: 1px solid #f0d9a0;
	border-radius: 8px;
	font-size: 14px;
}

@media (max-width: 820px) {
	.kf-hero-inner {
		grid-template-columns: 1fr;
	}
	.kf-benefits {
		grid-template-columns: 1fr;
	}
}