/**
 * News Element — Author Box block. Structure only: sizes, colours and
 * type come from the block's controls; the card comes from the Advanced tab
 * or the container.
 */

/* Photo beside the name (row) or above it (column, follows Alignment). */
.ne-ab-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ne-ab--column .ne-ab-head {
	display: block;
}

.ne-ab-photo {
	flex: 0 0 auto;
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

/* Stacked: inline so the block's Alignment places the photo as well. */
.ne-ab--column .ne-ab-photo {
	display: inline-block;
	margin-bottom: 12px;
}

.ne-ab-id {
	min-width: 0;
}

.ne-ab-name,
.ne-ab-role {
	display: block;
}

:where(.ne-ab) a.ne-ab-name {
	color: inherit;
	text-decoration: none;
}

.ne-ab-bio,
.ne-ab-loc {
	margin: 12px 0 0;
}

/* Inline so the block's Alignment places the row like the text around it. */
.ne-ab-loc {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ne-ab-loc svg {
	flex: 0 0 auto;
}

/* Photo beside all the text (side): the name, role, bio and location share
   the column next to the photo; on narrow screens the column wraps under it. */
.ne-ab--side .ne-ab-head {
	flex-wrap: wrap;
}

.ne-ab--side .ne-ab-id {
	flex: 1 1 320px;
}

.ne-ab--side .ne-ab-bio:first-child {
	margin-top: 0;
}

/* Location under the name and role (Location position). */
.ne-ab-id .ne-ab-loc {
	display: flex;
}

.ne-ab-headline {
	margin: 16px 0 0;
}

:where(.ne-ab) > .ne-ab-headline:first-child {
	margin-top: 0;
}


/* Contact button and social links share one wrapping row. */
.ne-ab-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 12px;
}

.ne-ab-cta {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	transition: color .2s, background-color .2s, border-color .2s;
}

.ne-ab-cta svg,
.ne-ab-soc svg {
	flex: 0 0 auto;
	fill: currentColor;
}

.ne-ab-soc {
	display: flex;
	flex-wrap: wrap;
}

.ne-ab-soc a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	color: inherit;
	transition: color .2s, background-color .2s, border-color .2s;
}
