.doctor-archive {
	background-color: var(--color-light-bg);
}

.doctor-archive.section {
	padding-top: clamp(var(--spacing-32), 5vw, 64px);
}

/* ───────── Intro ───────── */

.doctor-archive__intro {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
	align-items: start;
	gap: clamp(var(--spacing-32), 5vw, 80px);
	margin-bottom: clamp(56px, 6vw, 96px);
}

.doctor-archive__head {
	min-width: 0;
}

.doctor-archive__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--spacing-14);
	color: var(--color-off-black);
	font-size: clamp(36px, 5vw, var(--font-size-display));
	line-height: var(--line-height-tight);
}

.doctor-archive__brand {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-10);
	white-space: nowrap;
}

.doctor-archive__brand-logo {
	width: auto;
	height: clamp(30px, 4.2vw, 44px);
	flex: 0 0 auto;
}

.doctor-archive__lead {
	margin-top: var(--spacing-15);
	color: var(--color-gray);
	font-size: var(--font-size-md);
	line-height: var(--line-height-body);
}

.doctor-archive__picker {
	display: grid;
	gap: var(--spacing-14);
	max-width: 880px;
	margin-top: clamp(var(--spacing-24), 3vw, var(--spacing-32));
}

.doctor-archive__picker-title {
	color: var(--color-off-black);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-heading);
}

.doctor-archive__picker-text {
	max-width: 520px;
	color: var(--color-gray);
	font-size: var(--font-size-base);
	line-height: var(--line-height-body);
}

.doctor-archive__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px var(--spacing-20);
}

.doctor-archive__filter {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: var(--spacing-5) 0;
	border: none;
	background-color: transparent;
	color: var(--color-gray);
	font-family: inherit;
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	text-align: left;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: transparent;
	text-underline-offset: 0.28em;
	cursor: pointer;
	transition: color var(--transition-base), text-decoration-color var(--transition-base), transform var(--transition-base);
}

.doctor-archive__filter:hover,
.doctor-archive__filter:focus-visible,
.doctor-archive__filter.is-active {
	color: var(--color-blue);
	text-decoration-color: currentColor;
}

.doctor-archive__filter:active {
	transform: translateY(1px);
}

.doctor-archive__callback.frame {
	background-color: var(--color-light-bg);
}

.doctor-archive__callback-inner {
	--cosmic-field-label-bg: var(--color-white);
	display: grid;
	gap: var(--spacing-24);
	padding: clamp(var(--spacing-24), 3vw, var(--spacing-32));
	background-color: var(--color-white);
}

.doctor-archive__callback-copy {
	display: grid;
	gap: var(--spacing-10);
}

.doctor-archive__callback-text {
	max-width: 520px;
	color: var(--color-gray-dark);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-heading);
}

.doctor-archive__form-row {
	--doctor-form-control-height: calc(var(--spacing-14) + var(--spacing-14) + var(--font-size-base) + var(--spacing-5));
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--spacing-10);
	align-items: start;
}

.doctor-archive__field,
.doctor-archive__action {
	min-width: 0;
	display: grid;
	gap: var(--spacing-6);
}

.doctor-archive__action {
	grid-column: 1 / -1;
}

.doctor-archive__label {
	font-size: var(--font-size-xs);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-heading);
	color: var(--color-gray);
}

.doctor-archive__field .cosmic-field__label {
	font-size: var(--font-size-sm);
}

.doctor-archive__label--empty {
	display: none;
}

.doctor-archive__field input {
	width: 100%;
	height: var(--doctor-form-control-height);
	min-height: 0;
	padding: 0 var(--spacing-20);
	border: var(--frame-border);
	border-radius: var(--radius-md);
	background-color: var(--color-white);
	color: var(--color-gray-dark);
	font: inherit;
	font-size: clamp(var(--font-size-base), 1vw, var(--font-size-md));
	font-weight: var(--font-weight-regular);
	line-height: 1.2;
	transition: border-color var(--transition-base), box-shadow var(--transition-base), color var(--transition-base);
	color-scheme: light;
}

.doctor-archive__field input::placeholder {
	color: var(--color-gray);
	opacity: 0;
}

.doctor-archive__field input:hover {
	border-color: color-mix(in srgb, var(--color-off-black) 18%, transparent);
}

.doctor-archive__field input:focus {
	outline: none;
	border-color: var(--color-blue);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-blue) 12%, transparent);
}

.doctor-archive__form-button {
	width: 100%;
	height: var(--doctor-form-control-height);
	min-height: var(--doctor-form-control-height);
	margin-top: 0;
	white-space: nowrap;
}

.doctor-archive__consent {
	display: flex;
	align-items: flex-start;
	gap: var(--spacing-10);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body);
	color: var(--color-gray);
}

.doctor-archive__consent input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 0.18em;
	accent-color: var(--color-blue);
}

.doctor-archive .doctor-card {
	transition: opacity var(--transition-base), filter var(--transition-base);
}

.doctor-archive .doctor-card.is-muted {
	opacity: 0.28;
	filter: grayscale(1);
}

.doctor-archive .doctor-card.is-muted:hover,
.doctor-archive .doctor-card.is-muted:focus-within {
	opacity: 0.58;
}

/* ───────── Группы направлений ───────── */

.doctor-archive__groups {
	display: grid;
	gap: clamp(56px, 6vw, 96px);
}

.doctor-archive__group-head {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: var(--spacing-10) var(--spacing-20);
	margin-bottom: clamp(var(--spacing-24), 3vw, var(--spacing-32));
}

.doctor-archive__group-title {
	color: var(--color-off-black);
	font-size: clamp(28px, 3vw, var(--font-size-heading));
	line-height: var(--line-height-heading);
}

.doctor-archive__group-count {
	color: var(--color-gray);
	font-size: var(--font-size-base);
	line-height: var(--line-height-body);
}

.doctor-archive__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--spacing-24);
	align-items: stretch;
}

/* ───────── CTA ───────── */

.doctor-archive__cta {
	margin-top: clamp(64px, 7vw, 112px);
	padding: clamp(var(--spacing-32), 4vw, var(--spacing-34)) clamp(var(--spacing-24), 4vw, var(--spacing-32));
	background-color: var(--color-warm-bg);
	border-radius: var(--frame-radius);
}

.doctor-archive__cta-body {
	max-width: 620px;
}

.doctor-archive__cta-title {
	color: var(--color-off-black);
	font-size: clamp(28px, 3vw, var(--font-size-heading));
	line-height: var(--line-height-heading);
}

.doctor-archive__cta-text {
	margin-top: var(--spacing-15);
	color: var(--color-gray);
	font-size: var(--font-size-md);
	line-height: var(--line-height-body);
}

.doctor-archive__cta .btn {
	margin-top: clamp(var(--spacing-24), 3vw, var(--spacing-32));
}

/* ───────── Пустое состояние ───────── */

.doctor-archive__empty {
	color: var(--color-gray);
	font-size: var(--font-size-md);
	line-height: var(--line-height-body);
}

/* ───────── Адаптивность ───────── */

@media (max-width: 1180px) {
	.doctor-archive__intro {
		grid-template-columns: 1fr;
		gap: clamp(var(--spacing-24), 4vw, var(--spacing-32));
	}

	.doctor-archive__callback {
		max-width: 680px;
	}

	.doctor-archive__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.doctor-archive__form-row {
		grid-template-columns: 1fr;
	}

	.doctor-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--spacing-20);
	}
}

@media (max-width: 480px) {
	.doctor-archive__filter {
		font-size: var(--font-size-xs);
	}

	.doctor-archive__grid {
		grid-template-columns: 1fr;
	}
}
