/**
 * Article Intro Block - Frontend Styles
 */

.article-intro-block {
	margin-bottom: 0;
}

.article-intro-block__inner {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--medium);
	margin-bottom: var(--wp--preset--spacing--xlarge);
}

.article-intro-block__title {
	font-family: var(--wp--preset--font-family--header);
	font-size: 56px;
	font-weight: 700;
	line-height: 64px;
	color: var(--wp--preset--color--brand);
	margin: 0;
}

.article-intro-block__standfirst {
	font-family: var(--wp--preset--font-family--body);
	font-size: 24px;
	line-height: 32px;
	font-weight: 400;
	color: var(--wp--preset--color--black);
	margin: 0;
	width: 100%;
}

.article-intro-block__date {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--default);
	line-height: 24px;
	font-weight: 400;
	color: var(--wp--preset--color--black);
	margin: 0 !important; /* Use of important to refrain core wordpress margin styling */
	display: flex;
	gap: var(--wp--preset--spacing--large);
}

.article-intro-block__date p {
	margin: 0 !important;

	.wp-block-post-content & {
		margin-block-end: 0 !important;
	}
}

/* Authors Section */
.article-intro-block__authors {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--small);
	margin: 0;
}

.article-intro-block__author {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--small);
	flex: 0 1 calc(50% - 8px);
	max-width: 396px;
	padding: var(--wp--preset--spacing--xsmall) 0;
}

/* Single author - full width */
.article-intro-block__authors:has(.article-intro-block__author:only-child) .article-intro-block__author {
	flex: 1 1 100%;
	max-width: 100%;
}

.article-intro-block__author-image {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
}

.article-intro-block__author-icon-fallback {
	width: 60px;
	height: 60px;
	user-select: none;
}

.article-intro-block__author-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.article-intro-block__author-info {
	flex: 1;
}

.article-intro-block__author-name {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--default);
	line-height: 24px;
	font-weight: 700;
	color: var(--wp--preset--color--brand-light-6);
	margin: 0;
	text-decoration: underline;
	text-decoration-style: solid;
	transition: color 0.2s ease;
}

.article-intro-block__author-name:hover {
	color: var(--wp--preset--color--brand-secondary);
}

/* If author name is not a link */
h3.article-intro-block__author-name {
	text-decoration: underline;
}

.article-intro-block__author-role {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small-paragraph);
	line-height: 24px;
	font-weight: 400;
	color: var(--wp--preset--color--black);
	margin: 0;

	.wp-block-post-content & {
		margin-block-end: 0 !important;
	}
}

.article-intro-block__author-region {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 24px;
	font-weight: 400;
	color: var(--wp--preset--color--black);
	margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {

	.article-intro-block__inner {
		gap: var(--wp--preset--spacing--small);
	}

	.article-intro-block__title {
		font-size: 40px;
		line-height: 44px;
	}

	.article-intro-block__standfirst {
		font-size: 20px;
		line-height: 30px;
	}

	.article-intro-block__date {
		flex-direction: column;
		gap: var(--wp--preset--spacing--xxsmall);
	}

	.article-intro-block__authors {
		flex-direction: column;
		gap: var(--wp--preset--spacing--xxxsmall);
	}

	.article-intro-block__author {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* Graceful degradation - hide empty sections */
.article-intro-block__standfirst:empty,
.article-intro-block__date:empty {
	display: none;
	margin: 0 !important; /* Use of important to refrain core wordpress margin styling */
}
