body.single-post .author-box {
	margin: 22px auto 26px !important;
	background: transparent !important;
}

body.single-post .author-box > .fl-row-content-wrap {
	padding: 0 18px !important;
	background: transparent !important;
}

body.single-post .author-box .fl-row-content {
	width: min(100%, 780px) !important;
	max-width: 780px !important;
	margin: 0 auto !important;
	padding: 18px !important;
	background: linear-gradient(135deg, #ffffff 0%, #f7fbf9 100%) !important;
	border: 1px solid rgba(31, 38, 59, .1) !important;
	border-left: 4px solid #0BA15B !important;
	border-radius: 16px !important;
	box-shadow: 0 12px 34px rgba(31, 38, 59, .09) !important;
}

body.single-post .author-box .fl-col,
body.single-post .author-box .fl-col-content,
body.single-post .author-box .fl-module,
body.single-post .author-box .fl-module-content,
body.single-post .author-box .fl-rich-text {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.single-post .author-box .fl-col-group-nested {
	display: grid !important;
	grid-template-columns: 62px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Force BOTH Beaver Builder columns to fill their grid cell. BB stamps an inline
   width:X% on the .fl-col which otherwise collapses the name/bio column to ~53px
   on desktop (the photo cell is fixed 62px by the grid track, the image is sized
   separately below). We must ALSO explicitly pin each column to its grid track:
   relying on grid auto-placement left the photo column stretching into the 1fr
   track (661px) and the name/bio column collapsing into the fixed 62px track. */
body.single-post .author-box .fl-col-group-nested > .fl-col {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: 0 1 auto !important;
	float: none !important;
	clear: none !important;
}

/* Photo column is always the small/first column -> fixed 62px track. */
body.single-post .author-box .fl-col-group-nested > .fl-col-small,
body.single-post .author-box .fl-col-group-nested > .fl-col:first-child {
	grid-column: 1 !important;
	width: 62px !important;
	max-width: 62px !important;
	justify-self: center !important;
}

/* Name/bio column is the second/last column -> the flexible 1fr track. */
body.single-post .author-box .fl-col-group-nested > .fl-col:last-child {
	grid-column: 2 !important;
	width: auto !important;
	min-width: 0 !important;
	justify-self: stretch !important;
}

body.single-post .author-box .fl-photo,
body.single-post .author-box .fl-photo-content {
	width: 62px !important;
	max-width: 62px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-post .author-box img,
body.single-post .author-box .fl-photo-img {
	display: block !important;
	width: 62px !important;
	height: 62px !important;
	max-width: 62px !important;
	object-fit: cover !important;
	border: 3px solid #ffffff !important;
	border-radius: 50% !important;
	box-shadow: 0 7px 18px rgba(31, 38, 59, .14) !important;
}

body.single-post .author-box .fl-module-rich-text + .fl-module-rich-text,
body.single-post .author-box .bio p + p {
	margin-top: 5px !important;
}

body.single-post .author-box .bio {
	margin: 4px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: #3f4759 !important;
}

body.single-post .author-box p {
	margin: 0 !important;
	color: #3f4759 !important;
	font-size: 14.5px !important;
	line-height: 1.5 !important;
}

body.single-post .author-box .km-author-panel-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #1F263B !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	transition: color .16s ease !important;
}

body.single-post .author-box .km-author-panel-link:hover,
body.single-post .author-box .km-author-panel-link:focus-visible {
	color: #0BA15B !important;
	text-decoration: none !important;
}

body.single-post .author-box .km-author-panel-link:focus-visible {
	outline: 2px solid rgba(11, 161, 91, .32) !important;
	outline-offset: 3px !important;
	border-radius: 5px !important;
}

body.single-post .author-box .cv-ab-namearrow {
	width: 11px !important;
	height: 11px !important;
	flex: 0 0 11px !important;
	color: #697186 !important;
	opacity: .75 !important;
	transform: translateY(-1px) !important;
	transition: color .16s ease, opacity .16s ease, transform .16s ease !important;
}

body.single-post .author-box .km-author-panel-link:hover .cv-ab-namearrow,
body.single-post .author-box .km-author-panel-link:focus-visible .cv-ab-namearrow {
	color: #0BA15B !important;
	opacity: 1 !important;
	transform: translate(1px, -2px) !important;
}

body.single-post .author-box .cv-ab-social {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin-top: 10px !important;
}

body.single-post .author-box .cv-ab-linkedin {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	color: #0a66c2 !important;
	background: #eef7f3 !important;
	border: 1px solid rgba(11, 161, 91, .2) !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 12px rgba(31, 38, 59, .07) !important;
	text-decoration: none !important;
	transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease !important;
}

body.single-post .author-box .cv-ab-linkedin:hover,
body.single-post .author-box .cv-ab-linkedin:focus-visible {
	color: #ffffff !important;
	background: #0a66c2 !important;
	border-color: #0a66c2 !important;
	box-shadow: 0 8px 18px rgba(10, 102, 194, .22) !important;
	transform: translateY(-1px) !important;
}

body.single-post .author-box .cv-ab-linkedin:focus-visible {
	outline: 2px solid rgba(10, 102, 194, .28) !important;
	outline-offset: 3px !important;
}

body.single-post .author-box .cv-ab-linkedin svg {
	width: 15px !important;
	height: 15px !important;
	display: block !important;
}

@media (max-width: 600px) {
	body.single-post .author-box {
		margin: 18px auto 22px !important;
	}

	body.single-post .author-box > .fl-row-content-wrap {
		padding: 0 14px !important;
	}

	body.single-post .author-box .fl-row-content {
		padding: 16px !important;
		border-radius: 14px !important;
	}

	body.single-post .author-box .fl-col-group-nested {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}

	/* Single column on mobile: both columns collapse back to track 1 so the
	   desktop grid-column:2 pin doesn't push the name row into a missing track. */
	body.single-post .author-box .fl-col-group-nested > .fl-col-small,
	body.single-post .author-box .fl-col-group-nested > .fl-col:first-child,
	body.single-post .author-box .fl-col-group-nested > .fl-col:last-child {
		grid-column: 1 !important;
		justify-self: start !important;
	}

	body.single-post .author-box .fl-col-group-nested > .fl-col-small,
	body.single-post .author-box .fl-col-group-nested > .fl-col:first-child {
		width: 58px !important;
		max-width: 58px !important;
	}

	body.single-post .author-box .fl-col-small,
	body.single-post .author-box .fl-photo,
	body.single-post .author-box .fl-photo-content {
		width: 58px !important;
		max-width: 58px !important;
	}

	body.single-post .author-box img,
	body.single-post .author-box .fl-photo-img {
		width: 58px !important;
		height: 58px !important;
		max-width: 58px !important;
	}

	body.single-post .author-box p {
		font-size: 14px !important;
	}
}
