/**
 * People/Profile Styles (Staff, Board of Directors)
 *
 * CSS for staff and board of directors page sections.
 * Loaded conditionally when core/group blocks are present.
 *
 * @package Condor
 */

/* ==========================================================================
   People Grid Layout (.people-grid)
   ========================================================================== */

.people-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--60);

	@media (min-width: 568px) {
		grid-template-columns: repeat(3, 1fr);
	}

	@media (min-width: 768px) {
		grid-template-columns: repeat(4, 1fr);
	}

	@media (min-width: 1024px) {
		grid-template-columns: repeat(5, 1fr);
	}

	/* ==========================================================================
	   Person Card (.person)
	   ========================================================================== */

	.person {
		text-align: center;

		.thumbnail-photo {
			aspect-ratio: 3 / 4;
			position: relative;
			overflow: hidden;
			margin-bottom: var(--wp--preset--spacing--20);

			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center center;
			}
		}

		.info {
			padding-top: var(--wp--preset--spacing--20);

			h4 {
				font-size: var(--wp--preset--font-size--medium);
				font-weight: bold;
			}

			.meta {
				padding-top: 5px;
				font-size: var(--wp--preset--font-size--small);
			}
		}
	}

	.profile-trigger:hover {
		text-decoration: none;
	}
}

/* ==========================================================================
   Profile Overlay (Modal)
   ========================================================================== */

.profile-overlay {
	display: none;

	.overlay-wrapper {
		max-width: 680px;
		margin: 0 auto;
		width: 100%;
		overflow-y: auto;
		align-items: flex-start;
	}

	.profile-wrapper {
		background: var(--wp--preset--color--white);
		color: var(--wp--preset--color--blue);
		border-radius: 10px;
		box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
		padding: 25px;
		display: flex;
		flex-wrap: wrap;

		@media screen and (max-height: 700px) {
			margin-bottom: 50px;
		}
	}

	.photo {
		width: 100%;

		img {
			max-width: 200px;
			margin: 0 auto;
		}

		@media (min-width: 768px) {
			max-width: 200px;
		}
	}

	.info {
		flex: 1;

		@media (min-width: 768px) {
			text-align: left;
			padding-left: 25px;
		}
	}

	.location {
		color: var(--wp--preset--color--bright-red);
	}

	.meta {
		display: block;
		padding-top: var(--wp--preset--spacing--10);
		color: var(--wp--preset--color--blue);

		span + span {
			padding-left: 3px;

			&::before {
				content: '\B7';
				display: inline-block;
				margin-right: 8px;
			}
		}
	}

	.biography {
		text-align: left;
		padding-top: 1.25rem;

		ul,
		ol {
			margin-left: 1.25rem;
		}

		strong,
		b {
			font-weight: bold;
		}

		a {
			color: var(--wp--preset--color--bright-red);
			font-weight: bold;
		}
	}

	.email {
		padding-top: var(--wp--preset--spacing--40);

		p {
			color: var(--wp--preset--color--bright-red);
			font-weight: bold;
		}

		a {
			color: var(--wp--preset--color--bright-red);
			text-decoration: underline;
		}
	}
}

/* ==========================================================================
   Board of Directors Specific Styles
   ========================================================================== */

.about-main.board-of-directors .people-grid .person .info {
	.officer {
		padding-bottom: 5px;
		margin-top: -5px;

		h5 {
			text-transform: uppercase;
			color: var(--wp--preset--color--bright-red);
			letter-spacing: 0.05em;
			font-size: var(--wp--preset--font-size--xs);
			font-weight: bold;
			font-family: var(--wp--preset--font-family--body);
		}
	}

	.location {
		padding-top: 5px;
		color: var(--wp--preset--color--bright-red);
	}
}

/* ==========================================================================
   Staff Page Specific Styles
   ========================================================================== */

.about-main.staff {
	.department-header {
		padding-bottom: var(--wp--preset--spacing--40);
	}

	.department + .department {
		padding-top: var(--wp--preset--spacing--80);
	}

	.people-grid .meta {
		padding-top: var(--wp--preset--spacing--10);
		color: var(--wp--preset--color--bright-red);
	}

	.profile-overlay .info {
		transform: translateY(0);
	}

	.profile-overlay .position {
		padding-top: var(--wp--preset--spacing--20);

		h5 {
			padding-bottom: var(--wp--preset--spacing--10);
			color: var(--wp--preset--color--bright-red);
		}

		em {
			font-size: var(--wp--preset--font-size--small);
		}
	}
}
