/* =========================================================
   Секція B: чотири напрямки
   ========================================================= */

/* Фон секції свідомо прозорий.
   Через від'ємний margin сітки бокс секції піднімається разом із нею
   (margin collapsing), і непрозорий фон замальовував би нижню частину
   фото в hero — перекриття є, але його не видно. Фон сторінки й так
   бежевий, тож візуально нічого не втрачаємо. */
.phm-cards {
	padding-bottom: var(--phm-section-y);
}

.phm-cards__grid {
	position: relative;
	z-index: 2;
	display: grid;
	/* minmax(0, …), а не просто 1fr: інакше довге слово на кшталт
	   «Langlebigkeitsmedizin» розпирає свою колонку ширше за сусідні. */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	background: var(--phm-white);
	border-radius: var(--phm-radius);
	box-shadow: var(--phm-shadow-card-strong);
	overflow: hidden;
}

/* Заходить на Hero знизу — як у макеті */
.phm-cards__grid--overlap {
	margin-top: -110px;
}

.phm-cards__item {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--phm-card-padding);
	transition: transform var(--phm-dur) var(--phm-ease);
}

.phm-cards__item + .phm-cards__item {
	border-left: 1px solid var(--phm-shell);
}

/* Іконка по центру картки — правка замовниці від 28.08; текст під нею
   лишається за лівим краєм, як у макеті. */
.phm-cards .phm-cards__icon {
	width: 88px;
	height: 88px;
	object-fit: contain;
	align-self: center;
}

.phm-cards__title {
	margin-top: 24px;
	/* «Langlebigkeitsmedizin» ширше за колонку — тут автоперенос обов'язковий.
	   Ліміт тримає його лише для справді довгих слів: «Ästhetische» і
	   «Handchirurgie» лишаються цілими. */
	hyphens: auto;
	-webkit-hyphens: auto;
	/* Сім літер після дефіса — та сама межа, що й у заголовках сторінок:
	   «Langlebigkeits-medizin» замість «Langlebigkeitsme-dizin». */
	hyphenate-limit-chars: 14 6 7;
}

/* Розтягнуте посилання робить клікабельною всю картку */
.phm-cards__link::after {
	content: "";
	position: absolute;
	inset: 0;
}

.phm-cards__text {
	margin-top: 16px;
	font-size: 16px;
	line-height: var(--phm-body-lh);
	color: var(--phm-text);
	flex: 1;
}

.phm-cards__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	color: var(--phm-primary-dark);
	font-weight: 500;
	font-size: 15px;
}

.phm-cards__arrow {
	transition: transform var(--phm-dur) var(--phm-ease);
}

/* Hover — підйом на 4px (ТЗ §2.4) */
.phm-cards__item:hover {
	transform: translateY(-4px);
}

.phm-cards__item:hover .phm-cards__arrow {
	transform: translateX(4px);
}

.phm-cards__item:hover .phm-cards__title {
	color: var(--phm-primary);
}

/* ---- Адаптив (ТЗ §7) ---- */

@media (max-width: 1024px) {
	.phm-cards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.phm-cards__item:nth-child(2n) {
		border-left: 1px solid var(--phm-shell);
	}

	.phm-cards__item:nth-child(n + 3) {
		border-top: 1px solid var(--phm-shell);
	}

	.phm-cards__item:nth-child(2n + 1) {
		border-left: 0;
	}

	.phm-cards__grid--overlap {
		margin-top: -100px;
	}
}

@media (max-width: 767px) {
	.phm-cards__grid {
		grid-template-columns: 1fr;
	}

	.phm-cards__item + .phm-cards__item {
		border-left: 0;
		border-top: 1px solid var(--phm-shell);
	}

	.phm-cards__grid--overlap {
		margin-top: -120px;
	}

	/* На дотику підйому немає — прибираємо, щоб не смикалось */
	.phm-cards__item:hover {
		transform: none;
	}
}
