.mab-author-bio {
	display: flex;
	align-items: flex-start;
	gap: var(--mab-gap, 28px);
	background: var(--mab-bg, #f5f5f5);
	padding: var(--mab-pad, 32px);
	border-radius: var(--mab-radius, 10px);
	border: var(--mab-border-width, 0) solid var(--mab-border-color, #e5e7eb);
	margin: 40px 0;
	font-family: inherit;
}

/* Layout variants */
.mab-layout-right { flex-direction: row-reverse; }
.mab-layout-stacked {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.mab-author-photo {
	flex: 0 0 auto;
	width: var(--mab-img, 160px);
}

.mab-author-photo img {
	width: var(--mab-img, 160px);
	height: var(--mab-img, 160px);
	object-fit: cover;
	display: block;
	border-radius: 8px;
}

.mab-shape-circle .mab-author-photo img { border-radius: 50%; }

.mab-author-content { flex: 1 1 auto; min-width: 0; }

.mab-author-label {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--mab-label, #6b7280);
}

.mab-author-name {
	margin: 0 0 12px;
	font-size: var(--mab-name-size, 26px);
	font-weight: 700;
	color: var(--mab-name, #1f2933);
	line-height: 1.2;
}

.mab-author-title {
	margin: -8px 0 12px;
	font-size: var(--mab-title-size, 14px);
	font-weight: 600;
	color: var(--mab-title, #2563eb);
}

.mab-author-desc {
	margin: 0;
	font-size: var(--mab-text-size, 15px);
	line-height: 1.7;
	color: var(--mab-text, #4b5563);
}

.mab-author-social {
	display: flex;
	gap: 12px;
	margin-top: 16px;
}

.mab-layout-stacked .mab-author-social { justify-content: center; }

.mab-author-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--mab-social-size, 36px);
	height: var(--mab-social-size, 36px);
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.06);
	border: var(--mab-social-border-width, 0) solid var(--mab-social-border-color, #e5e7eb);
	box-sizing: border-box;
	transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mab-author-social a:hover { transform: translateY(-2px); }

/* Social icon shapes */
.mab-social-shape-circle .mab-author-social a { border-radius: 50%; }
.mab-social-shape-rounded .mab-author-social a { border-radius: 8px; }
.mab-social-shape-square .mab-author-social a { border-radius: 0; }

/* --- Social icon color styles --- */

/* Accent: all icons use the accent color */
.mab-social-accent .mab-author-social a { color: var(--mab-accent, #2563eb); }
.mab-social-accent .mab-author-social a:hover {
	background: var(--mab-accent, #2563eb);
	color: #fff;
}

/* Monochrome: dark icons */
.mab-social-mono .mab-author-social a { color: #1f2933; }
.mab-social-mono .mab-author-social a:hover {
	background: #1f2933;
	color: #fff;
}

/* Brand: each icon uses its official brand color, fills on hover */
.mab-social-brand .mab-author-social a { color: var(--mab-social-brand, #4b5563); }
.mab-social-brand .mab-author-social a:hover {
	background: var(--mab-social-brand, #4b5563);
	color: #fff;
}

@media (max-width: 600px) {
	.mab-author-bio {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.mab-author-social { justify-content: center; }
}
