/**
 * Team block — token-driven styles.
 * Flex wrap + centered rows so incomplete last rows stay centered.
 *
 * Breakpoints (viewport):
 * - < sm: 1 column
 * - sm+: 2 columns
 * - md+: 3 columns
 * - lg+: 4 columns only when cols-4 is selected
 */

.rush-team__grid {
	--rush-team-gap-x: var( --wp--custom--spacing--6, 1.5rem );
	--rush-team-gap-y: var( --wp--custom--spacing--12, 3rem );
	--rush-team-row-cols: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	column-gap: var( --rush-team-gap-x );
	row-gap: var( --rush-team-gap-y );
	margin: 0;
	padding: 0;
	list-style: none;
}

.rush-team .wp-block-post-template.rush-team__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	column-gap: var( --rush-team-gap-x );
	row-gap: var( --rush-team-gap-y );
}

.rush-team__item,
.rush-team .wp-block-post-template.rush-team__grid > .wp-block-post {
	box-sizing: border-box;
	flex: 0 0 calc( ( 100% - ( var( --rush-team-row-cols ) - 1 ) * var( --rush-team-gap-x ) ) / var( --rush-team-row-cols ) );
	max-width: calc( ( 100% - ( var( --rush-team-row-cols ) - 1 ) * var( --rush-team-gap-x ) ) / var( --rush-team-row-cols ) );
	min-width: 0;
}

@media ( min-width: 640px ) {
	.rush-team__grid,
	.rush-team .wp-block-post-template.rush-team__grid {
		--rush-team-row-cols: 2;
	}
}

@media ( min-width: 768px ) {
	.rush-team__grid,
	.rush-team .wp-block-post-template.rush-team__grid {
		--rush-team-row-cols: 3;
	}
}

@media ( min-width: 1024px ) {
	.rush-team--cols-4 .rush-team__grid,
	.rush-team--cols-4 .wp-block-post-template.rush-team__grid {
		--rush-team-row-cols: 4;
	}
}

/* ---- Card ---- */
.rush-team__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	gap: var( --wp--custom--spacing--4, 1rem );
}

.rush-team__photo {
	margin: 0;
	overflow: hidden;
	border-radius: var( --wp--custom--radius--lg, 1rem );
	background: var( --wp--preset--color--muted, #f5f5f5 );
}

.rush-team__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 30%;
}

.rush-team__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.rush-team__name {
	margin: 0;
	font-size: var( --wp--preset--font-size--large, 1.25rem );
	font-weight: var( --wp--custom--font-weight--semibold, 600 );
	line-height: var( --wp--custom--line-height--normal, 1.5 );
	color: var( --wp--preset--color--contrast, #0a0a0a );
}

.rush-team__role {
	margin: 0;
	color: var( --wp--preset--color--secondary, #737373 );
	font-size: var( --wp--preset--font-size--medium, 1rem );
	line-height: var( --wp--custom--line-height--normal, 1.5 );
}

.rush-team__bio {
	margin: var( --wp--custom--spacing--4, 1rem ) 0 0;
	color: var( --wp--preset--color--secondary, #737373 );
	font-size: var( --wp--preset--font-size--medium, 1rem );
	line-height: var( --wp--custom--line-height--normal, 1.5 );
}

.rush-team__contact {
	display: flex;
	flex-wrap: wrap;
	gap: var( --wp--custom--spacing--4, 1rem );
	margin: var( --wp--custom--spacing--4, 1rem ) 0 0;
	padding: 0;
	list-style: none;
}

.rush-team__contact--text {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: var( --wp--custom--spacing--1, 0.25rem );
	font-size: var( --wp--preset--font-size--medium, 1rem );
	line-height: var( --wp--custom--line-height--normal, 1.5 );
}

.rush-team__contact--text a {
	color: var( --wp--preset--color--contrast, #0a0a0a );
	text-decoration: none;
}

.rush-team__contact--text a:hover {
	text-decoration: underline;
}

.rush-team__contact--icons {
	flex-direction: row;
	align-items: center;
}

.rush-team__contact--icons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var( --wp--preset--color--contrast, #0a0a0a );
	text-decoration: none;
}

.rush-team__contact--icons svg {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

.rush-team__empty {
	margin: 0;
	color: var( --wp--preset--color--secondary, #737373 );
}

/* ---- Layout: landscape (4:3 photo, left-aligned) ---- */
.rush-team--layout-landscape .rush-team__photo {
	aspect-ratio: 4 / 3;
	width: 100%;
}

.rush-team--layout-landscape .rush-team__card,
.rush-team--layout-portrait .rush-team__card {
	align-items: flex-start;
	text-align: left;
}

.rush-team--layout-landscape .rush-team__contact--icons,
.rush-team--layout-portrait .rush-team__contact--icons {
	justify-content: flex-start;
}

/* ---- Layout: portrait (4:5 photo, left-aligned) ---- */
.rush-team--layout-portrait .rush-team__photo {
	aspect-ratio: 4 / 5;
	width: 100%;
}

/* ---- Layout: compact (small centered avatar) ---- */
.rush-team--layout-compact .rush-team__card {
	align-items: center;
	text-align: center;
}

.rush-team--layout-compact .rush-team__photo {
	width: 4rem;
	height: 4rem;
	aspect-ratio: 1;
	flex-shrink: 0;
}

.rush-team--layout-compact .rush-team__body {
	align-items: center;
	width: 100%;
}

.rush-team--layout-compact .rush-team__contact {
	justify-content: center;
}

.rush-team--layout-compact .rush-team__contact--icons {
	justify-content: center;
}
