/**
 * Aptiva Core — front-end styles for article components.
 *
 * References theme.json design tokens via CSS custom properties so the look
 * stays brand-driven (no hardcoded hex). Falls back gracefully if a token is
 * unavailable (e.g. a non-Aptiva theme).
 */

.aptiva-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	align-items: baseline;
	margin: 0 0 var(--wp--preset--spacing--40, 1rem);
	font-size: var(--wp--preset--font-size--x-small, 0.875rem);
	color: var(--aptiva-text-muted);
}

.aptiva-article-summary {
	margin: 0 0 var(--wp--preset--spacing--50, 1.5rem);
	font-size: var(--wp--preset--font-size--large, 1.375rem);
	line-height: 1.5;
	color: var(--aptiva-text);
}

.aptiva-sources {
	margin-top: var(--wp--preset--spacing--70, 3rem);
	padding-top: var(--wp--preset--spacing--50, 1.5rem);
	border-top: 1px solid var(--aptiva-border);
}

.aptiva-sources h2 {
	font-size: var(--wp--preset--font-size--large, 1.375rem);
	margin: 0 0 var(--wp--preset--spacing--30, 0.75rem);
}

.aptiva-sources ul {
	margin: 0;
	padding-left: 1.25rem;
}

.aptiva-sources li {
	margin-bottom: var(--wp--preset--spacing--20, 0.5rem);
}

.aptiva-sources a {
	color: var(--aptiva-link);
}

/* Disclaimer — mirrors the theme styling so it looks right even if the plugin
   output appears outside the aptiva-hub theme. */
.aptiva-disclaimer {
	margin-top: var(--wp--preset--spacing--60, 2rem);
	padding: var(--wp--preset--spacing--40, 1rem) var(--wp--preset--spacing--50, 1.5rem);
	font-size: var(--wp--preset--font-size--small, 1rem);
	color: var(--aptiva-text-muted);
	background-color: var(--aptiva-surface-3);
	border-left: 4px solid var(--wp--preset--color--aptiva-sky, #27aae0);
	border-radius: var(--wp--custom--radius--sm, 4px);
}

.aptiva-disclaimer p {
	margin: 0;
}

.aptiva-disclaimer a {
	color: var(--aptiva-link);
}

/* Byline — authorship + review (E-E-A-T). */
.aptiva-byline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.5rem;
	align-items: baseline;
	margin: 0 0 var(--wp--preset--spacing--50, 1.5rem);
	font-size: var(--wp--preset--font-size--small, 1rem);
	color: var(--aptiva-text-muted);
}

.aptiva-byline__link {
	color: var(--aptiva-link);
	font-weight: 600;
	text-decoration: underline;
}

.aptiva-byline__link:hover,
.aptiva-byline__link:focus-visible {
	color: var(--aptiva-link-strong);
}

.aptiva-byline__pending {
	color: var(--aptiva-text);
	background-color: var(--aptiva-surface-3);
	padding: 0.05rem 0.5rem;
	border-radius: var(--wp--custom--radius--sm, 4px);
	font-style: italic;
}

/* Author / reviewer profile card on author archives. */
.aptiva-author-card {
	display: flex;
	gap: var(--wp--preset--spacing--50, 1.5rem);
	align-items: flex-start;
	margin: var(--wp--preset--spacing--40, 1rem) 0 var(--wp--preset--spacing--70, 3rem);
	padding: var(--wp--preset--spacing--50, 1.5rem);
	background-color: var(--aptiva-surface-2);
	border-radius: var(--wp--custom--radius--md, 8px);
}

.aptiva-author-card__photo {
	flex: 0 0 auto;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
}

.aptiva-author-card__body {
	min-width: 0;
}

.aptiva-author-card__name {
	margin: 0 0 0.25rem;
	font-size: var(--wp--preset--font-size--large, 1.375rem);
	font-weight: 700;
	color: var(--aptiva-text);
}

.aptiva-author-card__specialty {
	margin: 0 0 0.5rem;
	color: var(--aptiva-link);
	font-weight: 600;
}

.aptiva-author-card__bio {
	margin: 0 0 0.5rem;
	color: var(--aptiva-text);
}

.aptiva-author-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.aptiva-author-card__links a {
	color: var(--aptiva-link);
	font-weight: 600;
}

.aptiva-author-card__notice {
	margin: 0.75rem 0 0;
	padding: 0.5rem 0.75rem;
	font-size: var(--wp--preset--font-size--x-small, 0.875rem);
	color: var(--aptiva-text);
	background-color: var(--aptiva-surface-3);
	border-left: 4px solid var(--wp--preset--color--aptiva-sky, #27aae0);
	border-radius: var(--wp--custom--radius--sm, 4px);
}

/* Contributors index ("who writes & reviews our content"). Reuses the author
 * card; lays the cards out in a responsive grid per section. */
.aptiva-contributors__section {
	margin-bottom: var(--wp--preset--spacing--70, 3rem);
}

.aptiva-contributors__intro {
	color: var(--aptiva-text-muted);
	max-width: 60ch;
}

.aptiva-contributors__grid {
	list-style: none;
	margin: var(--wp--preset--spacing--50, 1.5rem) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
	gap: var(--wp--preset--spacing--40, 1rem);
}

/* Each grid item stacks the card + its "articles by" link; the card drops its
 * archive margins inside the grid. */
.aptiva-contributor {
	display: flex;
	flex-direction: column;
}

.aptiva-contributor .aptiva-author-card {
	margin: 0;
}

.aptiva-contributor__more {
	margin: 0.5rem 0 0;
	font-weight: 600;
}

.aptiva-contributor__more a {
	color: var(--aptiva-link);
}
