/* Author Profile & Disclaimer — front-end styles.
   All colors/sizes come from CSS variables set inline by the plugin. */

.apd-wrap {
	box-sizing: border-box;
	clear: both;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 2.5rem 0 0;
	padding: 22px 24px;
	background: var(--apd-bg, #2b2b2b);
	border: 1px solid var(--apd-border, #434343);
	border-radius: var(--apd-box-radius, 12px);
	color: var(--apd-muted, #c6cbd2);
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
}

.apd-wrap *,
.apd-wrap *::before,
.apd-wrap *::after {
	box-sizing: border-box;
}

.apd-wrap .apd-section-title {
	margin: 0 0 16px;
	color: var(--apd-text, #f2f3f5);
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
}

.apd-wrap .apd-author {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.apd-wrap .apd-author-image {
	flex: 0 0 var(--apd-img, 68px);
	width: var(--apd-img, 68px);
}

.apd-wrap .apd-author-image img {
	display: block;
	width: var(--apd-img, 68px);
	height: var(--apd-img, 68px);
	max-width: none;
	margin: 0;
	object-fit: cover;
	border: 0;
	border-radius: var(--apd-img-radius, 12px);
	box-shadow: none;
}

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

.apd-wrap .apd-author-name {
	margin: 0 0 4px;
	color: var(--apd-text, #f2f3f5);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.3;
}

.apd-wrap .apd-author-role {
	margin: 0 0 6px;
	color: var(--apd-muted, #c6cbd2);
	font-size: 0.98rem;
}

.apd-wrap .apd-author-bio {
	margin: 0 0 6px;
	color: var(--apd-muted, #c6cbd2);
	font-size: 0.92rem;
}

.apd-wrap .apd-divider {
	height: 0;
	margin: 20px 0;
	padding: 0;
	background: none;
	border: 0;
	border-top: 1px solid var(--apd-divider, #434343);
}

.apd-wrap .apd-disclaimer-title {
	margin: 0 0 8px;
	color: var(--apd-text, #f2f3f5);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

.apd-wrap .apd-disclaimer-text {
	margin: 0 0 8px;
	color: var(--apd-muted, #c6cbd2);
	font-size: 0.88rem;
	line-height: 1.55;
}

.apd-wrap .apd-link {
	display: inline-block;
	color: var(--apd-link, #fff);
	font-size: 0.88rem;
	font-weight: 500;
	text-decoration: none;
	box-shadow: none;
	border: 0;
}

.apd-wrap .apd-link:hover,
.apd-wrap .apd-link:focus {
	color: var(--apd-link, #fff);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.apd-wrap .apd-link:focus-visible {
	outline: 2px solid var(--apd-link, #fff);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Tablets and small laptops */
@media (max-width: 782px) {
	.apd-wrap {
		margin-top: 2rem;
	}
}

/* Phones */
@media (max-width: 600px) {
	.apd-wrap {
		padding: 18px 16px;
		font-size: 14px;
	}

	.apd-wrap .apd-author {
		gap: 14px;
	}

	.apd-wrap .apd-author-image {
		flex-basis: min(var(--apd-img, 68px), 64px);
		width: min(var(--apd-img, 68px), 64px);
	}

	.apd-wrap .apd-author-image img {
		width: min(var(--apd-img, 68px), 64px);
		height: min(var(--apd-img, 68px), 64px);
	}

	.apd-wrap .apd-author-name {
		font-size: 1.02rem;
	}

	.apd-wrap .apd-divider {
		margin: 16px 0;
	}
}

/* Very narrow phones: stack photo above text */
@media (max-width: 340px) {
	.apd-wrap .apd-author {
		flex-direction: column;
		gap: 10px;
	}
}

@media print {
	.apd-wrap {
		break-inside: avoid;
	}
}
