/**
 * Team Member single-template CSS.
 * Loaded only on single Team Member pages.
 */

body.single-team-member .aicsp-team-single-wrap {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

body.single-team-member .aicsp-team-single {
	width: 100%;
	max-width: none;
	padding: clamp(34px, 6vw, 76px) 0;
}

.aicsp-team-single__header {
	margin: 0 0 clamp(24px, 4vw, 42px);
}

.aicsp-team-single__title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.08;
}

.aicsp-team-single__position {
	margin: 10px 0 0;
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	font-weight: 700;
}

.aicsp-team-single__layout {
	display: grid;
	grid-template-columns: minmax(240px, 390px) minmax(0, 1fr);
	gap: clamp(30px, 6vw, 74px);
	align-items: start;
}

.aicsp-team-single__layout.no-image {
	grid-template-columns: minmax(0, 1fr);
}

.aicsp-team-single__media {
	margin: 0;
}

.aicsp-team-single__portrait {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.aicsp-team-single__content > :first-child {
	margin-top: 0;
}

.aicsp-team-single__content > :last-child {
	margin-bottom: 0;
}

.aicsp-team-single__contacts {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.aicsp-team-single__contact {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	font-weight: 700;
	text-decoration: none;
}

.aicsp-team-single__contact:hover,
.aicsp-team-single__contact:focus-visible {
	text-decoration: underline;
}

.aicsp-team-single__contact-icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	fill: currentColor;
}

@media (max-width: 760px) {
	body.single-team-member .aicsp-team-single-wrap {
		width: min(100% - 28px, 680px);
	}

	.aicsp-team-single__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}

	.aicsp-team-single__media {
		max-width: 430px;
	}
}
