/**
 * ISCO · страница «צרו קשר» (/פניות/). Цвета — токены темы (тёмная тема работает сама).
 */

.isco-ct__hero {
	margin-block: 20px 40px;
	padding: 44px 48px;
	border-radius: 28px;
	background: var(--isco-sky-100);
}

.isco-ct__kicker {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 500;
	color: var(--isco-text-brand);
}

.isco-ct__hero h1 {
	margin: 0 0 14px;
	font-size: 44px;
	line-height: 1.15;
}

.isco-ct__lead {
	max-inline-size: 720px;
	margin: 0 0 28px;
	font-size: 19px;
	line-height: 1.65;
	color: var(--isco-text-secondary);
}

/* Каналы связи */
.isco-ct__channels {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.isco-ct__channel {
	display: flex;
	align-items: center;
	gap: 14px;
	block-size: 100%;
	padding: 18px 20px;
	border: 1px solid var(--isco-border-default);
	border-radius: 18px;
	background: var(--isco-bg-surface);
	color: var(--isco-text-primary);
	text-decoration: none;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.isco-ct__channel:hover,
.isco-ct__channel:focus-visible {
	border-color: var(--isco-action-secondary);
	transform: translateY(-2px);
}

.isco-ct__channel-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 52px;
	block-size: 52px;
	border-radius: 14px;
	background: var(--isco-green-100);
	color: var(--isco-text-brand);
}

.isco-ct__channel--wa .isco-ct__channel-icon {
	background: var(--isco-action-whatsapp, #25d366);
	color: #fff;
}

.isco-ct__channel strong {
	display: block;
	font-size: 18px;
	line-height: 1.3;
}

.isco-ct__channel small {
	display: block;
	font-size: 16px;
	color: var(--isco-text-secondary);
	overflow-wrap: anywhere;
}

/* Форма и быстрые пути */
.isco-ct__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	margin-block-end: 72px;
}

.isco-ct__form-card,
.isco-ct__routes {
	padding: 32px;
	border: 1px solid var(--isco-border-default);
	border-radius: 24px;
	background: var(--isco-bg-surface);
}

.isco-ct h2 {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.25;
}

.isco-ct__hint {
	margin: 0 0 22px;
	font-size: 17px;
	color: var(--isco-text-secondary);
}

.isco-ct__form {
	display: grid;
	gap: 18px;
}

.isco-ct__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.isco-ct__fields p {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}

.isco-ct__fields .isco-ct__wide {
	grid-column: 1 / -1;
}

.isco-ct__fields label {
	font-size: 16px;
	font-weight: 500;
}

.isco-ct__fields label span {
	color: var(--isco-text-error);
}

.isco-ct__fields .isco-field__control input,
.isco-ct__fields .isco-field__control select {
	flex: 1;
	min-inline-size: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--isco-text-primary);
	font: 400 17px/1.4 Rubik, sans-serif;
	padding: 0 !important;
	min-block-size: 54px;
	outline: 0;
}

.isco-ct__fields .isco-field__control:focus-within,
.isco-ct__fields textarea:focus {
	border-color: var(--isco-border-focus);
	outline: 3px solid color-mix(in srgb, var(--isco-border-focus) 30%, transparent);
	outline-offset: 0;
}

.isco-ct__fields textarea {
	inline-size: 100%;
	min-block-size: 150px;
	padding: 14px 18px;
	border: 1px solid var(--isco-border-default);
	border-radius: 14px;
	background: var(--isco-bg-surface);
	color: var(--isco-text-primary);
	font: 400 17px/1.6 Rubik, sans-serif;
	resize: vertical;
	box-sizing: border-box;
}

.isco-ct__submit {
	justify-self: start;
	min-block-size: 56px;
	padding-inline: 32px;
	font-size: 18px;
}

.isco-ct__privacy {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--isco-text-secondary);
}

.isco-ct__privacy svg {
	flex: none;
	margin-block-start: 4px;
}

.isco-ct__routes {
	background: var(--isco-bg-brand-soft);
	border-color: transparent;
}

.isco-ct__routes ul {
	display: grid;
	gap: 12px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.isco-ct__routes a {
	display: flex;
	gap: 14px;
	padding: 16px;
	border-radius: 16px;
	background: var(--isco-bg-surface);
	color: var(--isco-text-primary);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.isco-ct__routes a:hover,
.isco-ct__routes a:focus-visible {
	transform: translateY(-2px);
	box-shadow: var(--isco-shadow-card);
}

.isco-ct__route-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 12px;
	background: var(--isco-green-100);
	color: var(--isco-text-brand);
}

.isco-ct__routes strong {
	display: block;
	font-size: 18px;
}

.isco-ct__routes small {
	display: block;
	margin-block: 2px 6px;
	font-size: 16px;
	line-height: 1.5;
	color: var(--isco-text-secondary);
}

.isco-ct__routes em {
	font-style: normal;
	font-size: 16px;
	font-weight: 500;
	color: var(--isco-text-brand);
}

@media (max-width: 1023px) {
	.isco-ct__layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.isco-ct__hero {
		padding: 28px 18px;
		border-radius: 20px;
	}

	.isco-ct__hero h1 {
		font-size: 32px;
	}

	.isco-ct__lead {
		font-size: 17px;
	}

	.isco-ct__channels,
	.isco-ct__fields {
		grid-template-columns: minmax(0, 1fr);
	}

	.isco-ct__form-card,
	.isco-ct__routes {
		padding: 22px 18px;
	}

	.isco-ct__submit {
		justify-self: stretch;
	}
}
