/**
 * Leadership & Honors (Feature 1) styles.
 *
 * Scoped to the combined page (.aoh-honors) and the single record
 * (.aoh-honor). Uses the shared design tokens (--aoh-*) defined in main.css;
 * declares none of its own colours so light/dark themes and WCAG AA contrast
 * are inherited. Tables scroll horizontally inside .aoh-honors__tablewrap so
 * the page body never scrolls sideways on narrow screens. Print-friendly.
 *
 * Auto-enqueued by the functions.php assets/css/*.css glob.
 */

/* ---- Combined page: header + intro ------------------------------------ */
.aoh-honors .aoh-container {
	max-width: var(--aoh-maxw, 1120px);
	margin-inline: auto;
	padding-inline: var(--aoh-space-4, 1rem);
}

.aoh-honors__header {
	margin-block: var(--aoh-space-6, 2rem) var(--aoh-space-5, 1.5rem);
}

.aoh-honors__title {
	font-family: var(--aoh-font-serif, Georgia, serif);
	line-height: var(--aoh-line-height-tight, 1.15);
	margin: 0 0 var(--aoh-space-3, 0.75rem);
}

.aoh-honors__intro {
	color: var(--aoh-ink-soft, #4c574f);
	max-width: 62ch;
}

/* ---- In-page table of contents ---------------------------------------- */
.aoh-honors__toc {
	margin-block: var(--aoh-space-5, 1.5rem);
	padding: var(--aoh-space-4, 1rem);
	background: var(--aoh-surface-2, #eff1ea);
	border: var(--aoh-border-width, 1px) solid var(--aoh-line-soft, #dde1d7);
	border-radius: var(--aoh-radius, 10px);
}

.aoh-honors__toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--aoh-space-2, 0.5rem) var(--aoh-space-5, 1.5rem);
}

.aoh-honors__toc-list a {
	font-weight: 600;
}

/* ---- Sections --------------------------------------------------------- */
.aoh-honors__section {
	margin-block: var(--aoh-space-7, 3rem);
	scroll-margin-top: var(--aoh-space-6, 2rem);
}

.aoh-honors__section-title {
	font-family: var(--aoh-font-serif, Georgia, serif);
	border-bottom: 2px solid var(--aoh-gold-line, #c9b17a);
	padding-bottom: var(--aoh-space-2, 0.5rem);
	margin: 0 0 var(--aoh-space-3, 0.75rem);
}

.aoh-honors__section-intro {
	color: var(--aoh-ink-soft, #4c574f);
	max-width: 62ch;
	margin: 0 0 var(--aoh-space-4, 1rem);
}

/* ---- Responsive table -------------------------------------------------- */
.aoh-honors__tablewrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: var(--aoh-border-width, 1px) solid var(--aoh-line, #ccd2c7);
	border-radius: var(--aoh-radius, 10px);
	background: var(--aoh-surface, #f7f8f3);
}

.aoh-honors__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.975rem;
}

.aoh-honors__table caption {
	text-align: left;
}

.aoh-honors__table th,
.aoh-honors__table td {
	text-align: left;
	vertical-align: top;
	padding: var(--aoh-space-3, 0.75rem) var(--aoh-space-4, 1rem);
	border-bottom: var(--aoh-border-width, 1px) solid var(--aoh-line-soft, #dde1d7);
}

.aoh-honors__table thead th {
	position: sticky;
	top: 0;
	background: var(--aoh-brand, #1c3d2e);
	color: var(--aoh-brand-ink, #f7f8f3);
	font-family: var(--aoh-font-sans, system-ui, sans-serif);
	font-weight: 700;
	white-space: nowrap;
	border-bottom: none;
}

.aoh-honors__table tbody tr:nth-child(even) {
	background: var(--aoh-surface-2, #eff1ea);
}

.aoh-honors__table tbody tr:hover {
	background: var(--aoh-surface-2, #eff1ea);
}

/* Row-header (years) cell: tabular figures, non-wrapping. */
.aoh-honors__years {
	white-space: nowrap;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.aoh-honors__name a {
	font-weight: 600;
}

.aoh-honors__place {
	color: var(--aoh-ink-soft, #4c574f);
	font-weight: 400;
}

/* Kennedy Medal recipient + inline biography. */
.aoh-honors__recipient {
	display: block;
	font-weight: 600;
}

.aoh-honors__bio {
	display: block;
	margin-top: var(--aoh-space-1, 0.25rem);
	color: var(--aoh-ink-soft, #4c574f);
	font-size: 0.925rem;
	line-height: var(--aoh-line-height, 1.55);
	max-width: 68ch;
}

.aoh-honors__empty {
	color: var(--aoh-ink-soft, #4c574f);
	font-style: italic;
}

.aoh-honors__backtotop {
	margin-top: var(--aoh-space-3, 0.75rem);
	font-size: 0.9rem;
}

.aoh-honors__source {
	margin-top: var(--aoh-space-6, 2rem);
	padding-top: var(--aoh-space-4, 1rem);
	border-top: var(--aoh-border-width, 1px) solid var(--aoh-line-soft, #dde1d7);
	color: var(--aoh-ink-soft, #4c574f);
	font-size: 0.85rem;
	font-style: italic;
	max-width: 68ch;
}

/* ---- Single record ---------------------------------------------------- */
.aoh-honor-single .aoh-container {
	max-width: 72ch;
	margin-inline: auto;
	padding-inline: var(--aoh-space-4, 1rem);
}

.aoh-honor__header {
	margin-block: var(--aoh-space-6, 2rem) var(--aoh-space-4, 1rem);
}

.aoh-honor__title {
	font-family: var(--aoh-font-serif, Georgia, serif);
	line-height: var(--aoh-line-height-tight, 1.15);
	margin: var(--aoh-space-1, 0.25rem) 0 var(--aoh-space-2, 0.5rem);
}

.aoh-honor__years {
	color: var(--aoh-ink-soft, #4c574f);
	font-variant-numeric: tabular-nums;
	margin: 0;
}

.aoh-honor__meta {
	margin-block: var(--aoh-space-5, 1.5rem);
	display: grid;
	gap: var(--aoh-space-3, 0.75rem);
}

.aoh-honor__meta-row {
	display: grid;
	grid-template-columns: minmax(8rem, 12rem) 1fr;
	gap: var(--aoh-space-4, 1rem);
}

.aoh-honor__meta-row dt {
	font-weight: 700;
	color: var(--aoh-ink-soft, #4c574f);
	margin: 0;
}

.aoh-honor__meta-row dd {
	margin: 0;
}

.aoh-honor__notes {
	margin-block: var(--aoh-space-5, 1.5rem);
	border-top: var(--aoh-border-width, 1px) solid var(--aoh-line-soft, #dde1d7);
	padding-top: var(--aoh-space-4, 1rem);
}

.aoh-honor__source {
	margin-block: var(--aoh-space-5, 1.5rem);
	padding-top: var(--aoh-space-4, 1rem);
	border-top: var(--aoh-border-width, 1px) solid var(--aoh-line-soft, #dde1d7);
	color: var(--aoh-ink-soft, #4c574f);
	font-size: 0.85rem;
	font-style: italic;
}

.aoh-honor__back {
	margin-top: var(--aoh-space-6, 2rem);
}

/* ---- Small screens ---------------------------------------------------- */
@media (max-width: 640px) {
	.aoh-honor__meta-row {
		grid-template-columns: 1fr;
		gap: var(--aoh-space-1, 0.25rem);
	}
}

/* ---- Print ------------------------------------------------------------ */
@media print {
	.aoh-honors__toc,
	.aoh-honors__backtotop,
	.aoh-honor__back {
		display: none;
	}

	.aoh-honors__tablewrap {
		overflow: visible;
		border: none;
		background: transparent;
	}

	.aoh-honors__table thead th {
		position: static;
		background: transparent;
		color: #000;
		border-bottom: 1px solid #000;
	}

	.aoh-honors__table,
	.aoh-honors__section {
		break-inside: auto;
	}

	.aoh-honors__table tr {
		break-inside: avoid;
	}

	.aoh-honors__table tbody tr:nth-child(even) {
		background: transparent;
	}
}
