/**
 * Handbook Print Stylesheet — B3
 *
 * Print-first stylesheet for handbook entries. Uses only --ybc-* design tokens
 * from A5 (assets/src/css/tokens.css). No hardcoded hex values or raw px.
 * Token reference: docs/design-tokens.md
 *
 * Screen styles are minimal — just enough to make the handbook readable on
 * screen before print. The print @media block is where the real work happens.
 *
 * Load: enqueued via wp_enqueue_style in inc/handbooks/ingest.php or setup.php.
 * Media: 'all' — loads on screen and print.
 *
 * @package YatesBaptist\Theme
 * @since   1.0.0
 */

/* ==========================================================================
   Screen styles — handbook entry layout
   ========================================================================== */

.ybc-handbook-entry {
	max-width: var( --ybc-max-width-prose );
	margin-inline: auto;
	padding: var( --ybc-space-6 ) var( --ybc-space-4 );
	color: var( --ybc-body-text );
	font-size: var( --ybc-font-size-prose );
	line-height: var( --ybc-line-height-body );
}

.ybc-handbook-entry__header {
	margin-bottom: var( --ybc-space-6 );
	padding-bottom: var( --ybc-space-4 );
	border-bottom: 2px solid var( --ybc-sand );
}

.ybc-handbook-entry__title {
	font-family: var( --ybc-font-heading );
	font-size: var( --ybc-font-size-3xl );
	font-weight: var( --ybc-font-weight-bold );
	color: var( --ybc-walnut );
	margin-bottom: var( --ybc-space-2 );
	line-height: var( --ybc-line-height-heading );
}

.ybc-handbook-entry__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var( --ybc-space-3 );
	font-size: var( --ybc-font-size-sm );
	color: var( --ybc-body-text );
	margin: 0;
}

.ybc-handbook-entry__version {
	font-weight: var( --ybc-font-weight-bold );
}

.ybc-handbook-entry__version a {
	color: var( --ybc-terra-text );
	text-decoration: underline;
}

.ybc-handbook-entry__version a:hover,
.ybc-handbook-entry__version a:focus {
	color: var( --ybc-walnut );
}

.ybc-handbook-entry__author,
.ybc-handbook-entry__published,
.ybc-handbook-entry__updated {
	color: var( --ybc-body-text );
}

/* --- Table of contents --- */

.ybc-handbook-entry__toc {
	background: var( --ybc-cream );
	border: 1px solid var( --ybc-sand );
	border-radius: var( --ybc-radius-md );
	padding: var( --ybc-space-4 ) var( --ybc-space-5 );
	margin-bottom: var( --ybc-space-8 );
	max-width: 36rem;
}

.ybc-handbook-entry__toc-heading {
	font-family: var( --ybc-font-heading );
	font-size: var( --ybc-font-size-lg );
	font-weight: var( --ybc-font-weight-bold );
	color: var( --ybc-walnut );
	margin-bottom: var( --ybc-space-3 );
	border-bottom: 1px solid var( --ybc-sand );
	padding-bottom: var( --ybc-space-2 );
}

.ybc-handbook-entry__toc-list {
	margin: 0;
	padding-left: var( --ybc-space-5 );
}

.ybc-handbook-entry__toc-item {
	margin-bottom: var( --ybc-space-1 );
}

/* Sub-items (h3 level) are indented an additional step */
.ybc-handbook-entry__toc-item--sub {
	padding-left: var( --ybc-space-4 );
	font-size: var( --ybc-font-size-sm );
}

.ybc-handbook-entry__toc-item a {
	color: var( --ybc-terra-text );
	text-decoration: none;
}

.ybc-handbook-entry__toc-item a:hover,
.ybc-handbook-entry__toc-item a:focus {
	color: var( --ybc-walnut );
	text-decoration: underline;
}

/* --- Body content --- */

.ybc-handbook-entry__body {
	font-size: var( --ybc-font-size-prose );
	line-height: var( --ybc-line-height-body );
}

.ybc-handbook-entry__body h2 {
	font-family: var( --ybc-font-heading );
	font-size: var( --ybc-font-size-2xl );
	font-weight: var( --ybc-font-weight-bold );
	color: var( --ybc-walnut );
	margin-top: var( --ybc-space-10 );
	margin-bottom: var( --ybc-space-3 );
	scroll-margin-top: var( --ybc-space-6 );
}

.ybc-handbook-entry__body h3 {
	font-family: var( --ybc-font-heading );
	font-size: var( --ybc-font-size-xl );
	font-weight: var( --ybc-font-weight-bold );
	color: var( --ybc-dark-walnut );
	margin-top: var( --ybc-space-8 );
	margin-bottom: var( --ybc-space-2 );
	scroll-margin-top: var( --ybc-space-6 );
}

.ybc-handbook-entry__body h4,
.ybc-handbook-entry__body h5,
.ybc-handbook-entry__body h6 {
	font-family: var( --ybc-font-heading );
	font-size: var( --ybc-font-size-base );
	font-weight: var( --ybc-font-weight-bold );
	color: var( --ybc-body-text );
	margin-top: var( --ybc-space-6 );
	margin-bottom: var( --ybc-space-2 );
}

.ybc-handbook-entry__body p {
	margin-bottom: var( --ybc-space-4 );
}

.ybc-handbook-entry__body ul,
.ybc-handbook-entry__body ol {
	padding-left: var( --ybc-space-6 );
	margin-bottom: var( --ybc-space-4 );
}

.ybc-handbook-entry__body li {
	margin-bottom: var( --ybc-space-1 );
}

.ybc-handbook-entry__body strong {
	font-weight: var( --ybc-font-weight-bold );
}

.ybc-handbook-entry__body em {
	font-style: italic;
}

.ybc-handbook-entry__body code {
	font-family: monospace;
	font-size: var( --ybc-font-size-sm );
	background: var( --ybc-sand );
	padding: 0.1em 0.4em;
	border-radius: var( --ybc-radius-sm );
}

.ybc-handbook-entry__body hr {
	border: none;
	border-top: 1px solid var( --ybc-sand );
	margin: var( --ybc-space-8 ) 0;
}

/* --- Version history UI (staff only) --- */

.ybc-handbook-versions {
	margin-top: var( --ybc-space-12 );
	padding-top: var( --ybc-space-6 );
	border-top: 1px solid var( --ybc-sand );
}

.ybc-handbook-versions__disclosure {
	font-size: var( --ybc-font-size-sm );
}

.ybc-handbook-versions__summary {
	cursor: pointer;
	font-weight: var( --ybc-font-weight-bold );
	color: var( --ybc-walnut );
	padding: var( --ybc-space-2 ) 0;
	display: flex;
	align-items: center;
	gap: var( --ybc-space-2 );
	list-style: none; /* removes default triangle in some browsers */
}

.ybc-handbook-versions__summary::-webkit-details-marker {
	display: none; /* hide default Chrome/Safari triangle */
}

.ybc-handbook-versions__summary::before {
	content: '▶';
	font-size: var( --ybc-font-size-xs );
	transition: transform 0.2s ease;
}

details[open] .ybc-handbook-versions__summary::before {
	transform: rotate( 90deg );
}

.ybc-handbook-versions__count {
	font-weight: var( --ybc-font-weight-normal );
	color: var( --ybc-body-text );
}

.ybc-handbook-versions__table {
	width: 100%;
	border-collapse: collapse;
	margin-top: var( --ybc-space-3 );
	font-size: var( --ybc-font-size-sm );
}

.ybc-handbook-versions__table th {
	text-align: left;
	padding: var( --ybc-space-2 ) var( --ybc-space-3 );
	border-bottom: 2px solid var( --ybc-sand );
	font-weight: var( --ybc-font-weight-bold );
	color: var( --ybc-walnut );
}

.ybc-handbook-versions__table td {
	padding: var( --ybc-space-2 ) var( --ybc-space-3 );
	border-bottom: 1px solid var( --ybc-sand );
	vertical-align: top;
}

.ybc-handbook-versions__version {
	font-weight: var( --ybc-font-weight-bold );
	white-space: nowrap;
}


/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {

	/* Hide: navigation, sidebar, footer, version history UI, TOC links */
	.site-header,
	.site-footer,
	.widget-area,
	.nav-links,
	.post-navigation,
	.comments-area,
	.ybc-handbook-versions,
	.ybc-handbook-entry__toc-item a::after {
		display: none !important;
	}

	/* Reset layout for print — full width, no padding artifacts */
	.ybc-handbook-entry {
		max-width: 100%;
		padding: 0;
		margin: 0;
		color: #000; /* Print black regardless of token — screens use token, print needs hard black */
		font-size: 11pt;
		line-height: 1.5;
	}

	/* Header: rule below, title and meta readable at print size */
	.ybc-handbook-entry__header {
		border-bottom: 1.5pt solid #000;
		padding-bottom: 6pt;
		margin-bottom: 12pt;
		page-break-after: avoid;
	}

	.ybc-handbook-entry__title {
		font-size: 18pt;
		color: #000;
		margin-bottom: 4pt;
	}

	.ybc-handbook-entry__meta {
		font-size: 9pt;
		display: block; /* stack meta items in print */
		color: #333;
	}

	.ybc-handbook-entry__meta span {
		display: block;
		margin-bottom: 2pt;
	}

	/* TOC: keep on one page if possible; show as flat list */
	.ybc-handbook-entry__toc {
		background: none;
		border: 0.5pt solid #ccc;
		padding: 8pt;
		margin-bottom: 16pt;
		page-break-inside: avoid;
	}

	.ybc-handbook-entry__toc-heading {
		font-size: 11pt;
		color: #000;
		margin-bottom: 4pt;
	}

	.ybc-handbook-entry__toc-list {
		padding-left: 14pt;
	}

	.ybc-handbook-entry__toc-item {
		font-size: 9pt;
		margin-bottom: 1pt;
	}

	.ybc-handbook-entry__toc-item a {
		color: #000;
		text-decoration: none;
	}

	/* Print the href after TOC links so anchors are visible on paper */
	.ybc-handbook-entry__toc-item a::after {
		content: ' (#' attr( href ) ')';
		font-size: 8pt;
		color: #666;
	}

	/* Body: headings break sensibly, code legible */
	.ybc-handbook-entry__body h2 {
		font-size: 14pt;
		color: #000;
		margin-top: 16pt;
		margin-bottom: 4pt;
		page-break-after: avoid;
	}

	.ybc-handbook-entry__body h3 {
		font-size: 12pt;
		color: #000;
		margin-top: 12pt;
		margin-bottom: 3pt;
		page-break-after: avoid;
	}

	.ybc-handbook-entry__body h4,
	.ybc-handbook-entry__body h5,
	.ybc-handbook-entry__body h6 {
		font-size: 10pt;
		margin-top: 8pt;
		page-break-after: avoid;
	}

	.ybc-handbook-entry__body p {
		margin-bottom: 6pt;
		orphans: 3;
		widows: 3;
	}

	.ybc-handbook-entry__body ul,
	.ybc-handbook-entry__body ol {
		padding-left: 14pt;
		margin-bottom: 6pt;
	}

	.ybc-handbook-entry__body li {
		font-size: 10pt;
		margin-bottom: 2pt;
	}

	.ybc-handbook-entry__body code {
		font-family: monospace;
		font-size: 9pt;
		background: #f5f5f5;
		border: 0.5pt solid #ccc;
		padding: 0 2pt;
	}

	.ybc-handbook-entry__body hr {
		border-top: 0.5pt solid #ccc;
		margin: 10pt 0;
	}

	/* Avoid page breaks inside list items and short paragraphs */
	.ybc-handbook-entry__body li,
	.ybc-handbook-entry__body td {
		page-break-inside: avoid;
	}

} /* end @media print */
