.doctor-card {
	--stage-bg: #f4f7fb;
	--arch-1: #eaf1f8;
	--arch-2: #dde9f4;
	--arch-3: #cddff0;
	--arch-4: #bcd2ea;
	--spring: cubic-bezier(0.34, 1.4, 0.5, 1);
	--figure-scale: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: var(--frame-pad);
	border: var(--frame-border);
	border-radius: var(--frame-radius);
	background-color: var(--color-white);
}

.doctor-card__surface {
	position: absolute;
	inset: 0;
	z-index: 6;
}

/* ───────── Сцена ───────── */

.doctor-card__stage {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: clamp(300px, 23vw, 360px);
	border-radius: var(--frame-radius-inner);
	background-color: var(--stage-bg);
	background-size: cover;
	background-position: center;
	overflow: hidden;
}

.doctor-card--has-bg .doctor-card__stage {
	background-image: var(--card-bg-image);
}

.doctor-card--has-bg .doctor-card__arches {
	opacity: 1;
}

.doctor-card--has-bg .doctor-card__glow {
	opacity: 0.4;
}

/* ───────── Мульти-арка (ступенчатые купола) ───────── */

.doctor-card__arches {
	position: absolute;
	inset: 0;
	z-index: 0;
	transform-origin: bottom center;
	transition: transform 0.5s var(--spring);
}

.doctor-card__arch {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	border-radius: 50% 50% 0 0 / 60% 60% 0 0;
}

.doctor-card__arch--1 {
	width: 75%;
	height: 67%;
	background-color: var(--arch-1);
}

.doctor-card__arch--2 {
	width: 61%;
	height: 58%;
	background-color: var(--arch-2);
}

.doctor-card__arch--3 {
	width: 46%;
	height: 49%;
	background-color: var(--arch-3);
}

.doctor-card__arch--4 {
	width: 33%;
	height: 40%;
	background-color: var(--arch-4);
}

.doctor-card:hover .doctor-card__arches {
	transform: scale(1.24);
}

/* ───────── Засветка-объём за фигурой ───────── */

.doctor-card__glow {
	position: absolute;
	left: 50%;
	top: 40%;
	z-index: 1;
	width: 48%;
	aspect-ratio: 1;
	transform: translateX(-50%);
	border-radius: var(--radius-pill);
	background-color: var(--color-white);
	filter: blur(26px);
	opacity: 0.55;
	pointer-events: none;
}

/* ───────── Стаж: статичный редакторский акцент внизу сцены ───────── */

.doctor-card__years {
	position: absolute;
	left: var(--spacing-20);
	top: var(--spacing-20);
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--color-gray);
	opacity: 0.55;
	pointer-events: none;
}

.doctor-card__years-num {
	font-size: clamp(34px, 3.4vw, 44px);
	font-weight: var(--font-weight-bold);
	line-height: 1;
	letter-spacing: -0.04em;
}

.doctor-card__years-unit {
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	line-height: 1.15;
}

/* ───────── Фигура ───────── */

.doctor-card__photo {
	position: relative;
	z-index: 3;
	width: auto;
	max-width: 92%;
	height: 87%;
	object-fit: contain;
	object-position: bottom center;
	transform-origin: bottom center;
	transform: scale(var(--figure-scale));
	filter: drop-shadow(0 0 18px rgba(22, 22, 22, 0.14)) drop-shadow(0 4px 10px rgba(22, 22, 22, 0.1));
	transition: transform 0.55s var(--spring);
}

.doctor-card:hover .doctor-card__photo {
	transform: scale(calc(var(--figure-scale) * 1.03));
}

.doctor-card--padded {
	--figure-scale: 1.18;
}

.doctor-card__placeholder {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	margin-bottom: 16%;
	border-radius: var(--radius-pill);
	background-color: var(--color-white);
	color: var(--arch-3);
	font-size: 44px;
}

/* ───────── Hover-видео: оживление фигуры на наведении ───────── */

.doctor-card__hover-video {
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 4;
	width: auto;
	height: 87%;
	max-width: 92%;
	aspect-ratio: 1500 / 2066;
	transform: translateX(-50%) scale(var(--figure-scale));
	object-fit: contain;
	object-position: bottom center;
	opacity: 0;
	pointer-events: none;
	transform-origin: bottom center;
	transition: transform 0.55s var(--spring);
	filter: drop-shadow(0 0 18px rgba(22, 22, 22, 0.14)) drop-shadow(0 4px 10px rgba(22, 22, 22, 0.1));
}

.doctor-card--animated:hover .doctor-card__hover-video {
	transform: translateX(-50%) scale(calc(var(--figure-scale) * 1.03));
}

.doctor-card--animated .doctor-card__photo {
	transition: transform 0.55s var(--spring);
}

@media (prefers-reduced-motion: reduce) {
	.doctor-card__hover-video {
		display: none;
	}
}

/* ───────── Видео-визитка: читаемый чип ───────── */

.doctor-card__video {
	position: absolute;
	left: var(--spacing-15);
	bottom: var(--spacing-15);
	z-index: 6;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 14px 5px 5px;
	border-radius: var(--radius-pill);
	background-color: rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: var(--shadow-sm);
	color: var(--color-off-black);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-semibold);
	line-height: 1;
	white-space: nowrap;
	transition: transform 0.45s var(--spring), box-shadow var(--transition-base);
}

.doctor-card__video-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding-left: 2px;
	border-radius: var(--radius-pill);
	background-color: var(--color-blue);
	color: var(--color-white);
	font-size: 13px;
	transition: background-color var(--transition-base);
}

.doctor-card:hover .doctor-card__video {
	transform: translateY(-4px);
}

.doctor-card__video:hover .doctor-card__video-icon {
	background-color: var(--color-blue-hover);
}

/* ───────── Тело карточки ───────── */

.doctor-card__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: var(--spacing-15) var(--spacing-14) var(--spacing-10);
}

.doctor-card__name {
	color: var(--color-off-black);
	font-size: var(--font-size-lg);
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.doctor-card__position {
	color: var(--color-gray);
	font-size: var(--font-size-sm);
	line-height: 1.35;
}

/* ───────── Тёплая вариация ритма ───────── */

.doctor-card--accent-warm {
	--stage-bg: #faf8f3;
	--arch-1: #f3efe6;
	--arch-2: #ebe4d6;
	--arch-3: #e0d5c1;
	--arch-4: #d4c6ab;
}

.doctors-slider__slide:nth-child(even) .doctor-card,
.doctor-archive__grid > .doctor-card:nth-child(even) {
	--stage-bg: #faf8f3;
	--arch-1: #f3efe6;
	--arch-2: #ebe4d6;
	--arch-3: #e0d5c1;
	--arch-4: #d4c6ab;
}

/* Фон-изображение: нейтральные ступени от белого (после тёплой палитры,
   чтобы перебить её и для чётных карточек) */
.doctor-card--has-bg,
.doctors-slider__slide:nth-child(even) .doctor-card--has-bg,
.doctor-archive__grid > .doctor-card--has-bg:nth-child(even) {
	--arch-1: rgba(255, 255, 255, 0.22);
	--arch-2: rgba(255, 255, 255, 0.3);
	--arch-3: rgba(255, 255, 255, 0.38);
	--arch-4: rgba(255, 255, 255, 0.46);
}

/* ───────── Архив ───────── */

.doctor-card--view-archive .doctor-card__stage {
	height: clamp(320px, 25vw, 380px);
}

@media (prefers-reduced-motion: reduce) {
	.doctor-card__arches,
	.doctor-card__photo {
		transition: none;
	}

	.doctor-card:hover .doctor-card__arches,
	.doctor-card:hover .doctor-card__photo {
		transform: none;
	}
}

@media (max-width: 520px) {
	.doctor-card__stage {
		height: clamp(280px, 72vw, 340px);
	}
}
