/* TanguTech Faculty Staff */

.elementor-widget-tangutech-faculty-staff .tfs-staff {
	--tfs-gap: 28px;
	--tfs-row-gap: 16px;
	--tfs-photo-col: 88px;
	--tfs-photo-size: 72px;
	--tfs-identity-col: 220px;
	--tfs-button-col: 140px;
	width: 100%;
	font-family: Manrope, "Segoe UI", sans-serif;
	box-sizing: border-box;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff *,
.elementor-widget-tangutech-faculty-staff .tfs-staff *::before,
.elementor-widget-tangutech-faculty-staff .tfs-staff *::after {
	box-sizing: border-box;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__row {
	display: grid;
	align-items: center;
	column-gap: var(--tfs-gap);
	row-gap: var(--tfs-row-gap);
	grid-template-columns: 1fr;
	border-bottom: 0 solid transparent;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff.has-divider .tfs-staff__row:not(:last-child) {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #d1d5db;
}

@media (min-width: 1025px) {
	.elementor-widget-tangutech-faculty-staff .tfs-staff.has-photo.has-qual.has-button .tfs-staff__row {
		grid-template-columns:
			var(--tfs-photo-col)
			minmax(0, var(--tfs-identity-col))
			minmax(0, 1fr)
			var(--tfs-button-col);
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff.has-photo.has-qual:not(.has-button) .tfs-staff__row {
		grid-template-columns:
			var(--tfs-photo-col)
			minmax(0, var(--tfs-identity-col))
			minmax(0, 1fr);
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff.has-photo:not(.has-qual).has-button .tfs-staff__row {
		grid-template-columns:
			var(--tfs-photo-col)
			minmax(0, 1fr)
			var(--tfs-button-col);
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff:not(.has-photo).has-qual.has-button .tfs-staff__row {
		grid-template-columns:
			minmax(0, var(--tfs-identity-col))
			minmax(0, 1fr)
			var(--tfs-button-col);
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff:not(.has-photo).has-qual:not(.has-button) .tfs-staff__row {
		grid-template-columns:
			minmax(0, var(--tfs-identity-col))
			minmax(0, 1fr);
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff.has-photo:not(.has-qual):not(.has-button) .tfs-staff__row {
		grid-template-columns:
			var(--tfs-photo-col)
			minmax(0, 1fr);
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-widget-tangutech-faculty-staff .tfs-staff.has-photo .tfs-staff__row {
		grid-template-columns: var(--tfs-photo-col) minmax(0, 1fr);
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__qualifications {
		grid-column: 2 / -1;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__action {
		grid-column: 2 / -1;
		justify-self: start;
	}
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__photo-col {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__photo {
	width: var(--tfs-photo-size);
	height: var(--tfs-photo-size);
	overflow: hidden;
	border: 3px solid #0b5fff;
	border-radius: 50%;
	background: #e5e7eb;
	flex-shrink: 0;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__identity {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__name {
	margin: 0;
	color: #0b5fff;
	font-family: Outfit, Manrope, "Segoe UI", sans-serif;
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.25;
	text-transform: uppercase;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__position,
.elementor-widget-tangutech-faculty-staff .tfs-staff__department {
	margin: 0;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.35;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__position {
	color: #4b5563;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__department {
	color: #6b7280;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__qualifications {
	min-width: 0;
	color: #4b5563;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.55;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__action {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	color: #ffffff;
	background-color: #0b5fff;
	border: 0;
	border-radius: 6px;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.elementor-widget-tangutech-faculty-staff .tfs-staff__button:hover {
	color: #ffffff;
	background-color: #0847c7;
	transform: translateY(-1px);
}

@media (max-width: 767px) {
	.elementor-widget-tangutech-faculty-staff .tfs-staff {
		--tfs-gap: 0px;
		--tfs-row-gap: 12px;
		--tfs-photo-col: 100%;
	}

	/* Phone: photo on top, then name / dept / quals / button stacked. */
	.elementor-widget-tangutech-faculty-staff .tfs-staff__row,
	.elementor-widget-tangutech-faculty-staff .tfs-staff.has-photo .tfs-staff__row,
	.elementor-widget-tangutech-faculty-staff .tfs-staff:not(.has-photo) .tfs-staff__row {
		grid-template-columns: 1fr;
		justify-items: stretch;
		align-items: stretch;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__photo-col {
		justify-content: var(--tfs-mobile-photo-align, center);
		width: 100%;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__identity {
		align-self: stretch;
		width: 100%;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__name {
		font-size: 0.95rem;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__position,
	.elementor-widget-tangutech-faculty-staff .tfs-staff__department,
	.elementor-widget-tangutech-faculty-staff .tfs-staff__qualifications {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__qualifications,
	.elementor-widget-tangutech-faculty-staff .tfs-staff.has-photo .tfs-staff__qualifications,
	.elementor-widget-tangutech-faculty-staff .tfs-staff:not(.has-photo) .tfs-staff__qualifications {
		grid-column: auto;
		width: 100%;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__action {
		grid-column: auto;
		width: 100%;
		justify-content: stretch;
	}

	.elementor-widget-tangutech-faculty-staff .tfs-staff__button {
		width: 100%;
		white-space: normal;
	}
}
