/**
 * SuperSquare BlogPress - Dedicated Print Stylesheet
 *
 * Implements Master Specification Section 14: Print Support & Stylesheet Strategy.
 * Produces a clean, ink-saving article/page reading print experience, hiding
 * non-essential chrome (nav, ads, sidebars, modals, comments, widgets) and
 * formatting prose, tables, figures, and metadata for paper reading.
 *
 * @package SuperSquare_BlogPress
 * @since 1.0.0
 */

@media print {
	/* --------------------------------------------------
	 * 1. Global Ink-Saving Reset & Canvas
	 * -------------------------------------------------- */
	*,
	*::before,
	*::after {
		background: transparent !important;
		color: #000000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
		filter: none !important;
	}

	html,
	body {
		background: #ffffff !important;
		color: #000000 !important;
		font-size: 12pt;
		line-height: 1.5;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	/* --------------------------------------------------
	 * 2. Elements Explicitly Hidden from Print
	 * -------------------------------------------------- */
	.site-top-bar,
	.main-navigation,
	.utility-navigation,
	.site-header-actions,
	.header-action-btn,
	.search-toggle,
	.menu-toggle,
	.header-search-container,
	.mobile-drawer,
	.mobile-drawer-backdrop,
	.skip-link,
	.widget-area,
	#secondary,
	.ss-ad-wrapper,
	.ss-archive-ad-container,
	.comments-area,
	#comments,
	.comment-respond,
	.ss-post-navigation,
	.ss-related-posts,
	.back-to-top,
	.site-footer,
	.footer-navigation,
	.ss-share-buttons,
	.pagination,
	.nav-links,
	.edit-link,
	.post-edit-link,
	.ss-category-more-link {
		display: none !important;
		visibility: hidden !important;
	}

	/* --------------------------------------------------
	 * 3. Page Layout & Container Boundaries
	 * -------------------------------------------------- */
	.site,
	#page,
	.site-container,
	.site-content,
	.ss-layout-main-sidebar,
	.site-main,
	main,
	article,
	.entry-content,
	.ss-article-content {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		display: block !important;
	}

	/* --------------------------------------------------
	 * 4. Site Header & Watermark Branding
	 * -------------------------------------------------- */
	.site-header {
		border-bottom: 2pt solid #000000 !important;
		padding-bottom: 12pt !important;
		margin-bottom: 18pt !important;
		position: static !important;
	}

	.site-branding {
		display: block !important;
	}

	.site-title {
		font-size: 18pt !important;
		font-weight: 700 !important;
		margin: 0 0 4pt 0 !important;
	}

	.site-title a {
		text-decoration: none !important;
		color: #000000 !important;
	}

	.site-description {
		font-size: 10pt !important;
		color: #444444 !important;
		margin: 0 !important;
	}

	/* --------------------------------------------------
	 * 5. Article Header & Metadata
	 * -------------------------------------------------- */
	.entry-header {
		margin-bottom: 16pt !important;
	}

	.entry-title,
	.ss-article-title {
		font-size: 22pt !important;
		line-height: 1.25 !important;
		color: #000000 !important;
		margin: 8pt 0 10pt 0 !important;
		page-break-after: avoid;
		break-after: avoid;
	}

	.ss-breadcrumb {
		font-size: 9pt !important;
		margin-bottom: 6pt !important;
		color: #555555 !important;
	}

	.ss-article-meta,
	.entry-meta {
		font-size: 9.5pt !important;
		color: #333333 !important;
		padding-bottom: 8pt !important;
		border-bottom: 1pt solid #cccccc !important;
		margin-bottom: 14pt !important;
	}

	.ss-meta-item {
		display: inline-block !important;
		margin-right: 12pt !important;
	}

	/* --------------------------------------------------
	 * 6. Typography & Headings Rules
	 * -------------------------------------------------- */
	h1, h2, h3, h4, h5, h6 {
		color: #000000 !important;
		page-break-after: avoid;
		break-after: avoid;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	h2 {
		font-size: 16pt !important;
		margin-top: 18pt !important;
		margin-bottom: 8pt !important;
		border-left: 3pt solid #000000 !important;
		padding-left: 8pt !important;
	}

	h3 {
		font-size: 13pt !important;
		margin-top: 14pt !important;
		margin-bottom: 6pt !important;
	}

	p {
		orphans: 3;
		widows: 3;
		margin-bottom: 10pt !important;
	}

	blockquote {
		border-left: 3pt solid #666666 !important;
		padding-left: 12pt !important;
		margin: 12pt 0 !important;
		font-style: italic !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* Lists with visible markers */
	ul,
	ol {
		margin-left: 20pt !important;
		margin-bottom: 10pt !important;
		padding-left: 0 !important;
	}

	ul li {
		list-style-type: disc !important;
	}

	ol li {
		list-style-type: decimal !important;
	}

	li {
		page-break-inside: avoid;
		break-inside: avoid;
		margin-bottom: 4pt !important;
	}

	/* Callout boxes & notices */
	.ss-notice,
	.is-style-callout,
	.wp-block-group {
		border: 1pt solid #888888 !important;
		padding: 10pt !important;
		margin: 12pt 0 !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* --------------------------------------------------
	 * 7. Tables Formatting
	 * -------------------------------------------------- */
	table,
	.wp-block-table table {
		width: 100% !important;
		border-collapse: collapse !important;
		border-spacing: 0 !important;
		margin: 14pt 0 !important;
		page-break-inside: avoid;
		break-inside: avoid;
		font-size: 9.5pt !important;
	}

	thead {
		display: table-header-group !important;
	}

	tr {
		page-break-inside: avoid;
		break-inside: avoid;
	}

	th,
	td,
	.wp-block-table th,
	.wp-block-table td {
		border: 1pt solid #000000 !important;
		padding: 5pt 8pt !important;
		text-align: left;
		color: #000000 !important;
	}

	th {
		font-weight: 700 !important;
		background: #f0f0f0 !important;
	}

	/* --------------------------------------------------
	 * 8. Media & Image Aspect Ratio Integrity
	 * -------------------------------------------------- */
	img,
	figure,
	.wp-block-image,
	.wp-block-image img,
	.post-thumbnail img,
	.ss-article-featured-image img {
		max-width: 100% !important;
		height: auto !important;
		page-break-inside: avoid;
		break-inside: avoid;
		object-fit: contain !important;
		display: block !important;
		margin: 10pt auto !important;
	}

	figcaption,
	.wp-caption-text {
		font-size: 8.5pt !important;
		color: #444444 !important;
		text-align: center !important;
		margin-top: 4pt !important;
		font-style: italic !important;
	}

	/* --------------------------------------------------
	 * 9. Paper Reading Link Formatting
	 * -------------------------------------------------- */
	a {
		color: #000000 !important;
		text-decoration: underline !important;
	}

	/* Append URL destination to external links for paper readers */
	.entry-content a[href^="http"]:not([href*="javascript:"])::after {
		content: " (" attr(href) ")";
		font-size: 8pt;
		font-weight: 400;
		word-break: break-all;
	}

	/* Do not append destination for internal anchor fragments or image links */
	.entry-content a[href^="#"]::after,
	.entry-content a[href*="wp-content/uploads"]::after,
	.entry-content a:has(img)::after {
		content: "" !important;
	}

	/* --------------------------------------------------
	 * 10. Author Biography Box in Print
	 * -------------------------------------------------- */
	.ss-author-bio,
	.ss-author-box {
		border: 1pt solid #888888 !important;
		padding: 10pt !important;
		margin-top: 16pt !important;
		page-break-inside: avoid;
		break-inside: avoid;
		display: flex !important;
		gap: 12pt !important;
	}

	.ss-author-avatar img,
	.ss-author-bio-avatar img,
	.ss-author-avatar-img {
		width: 48px !important;
		height: 48px !important;
		border-radius: 50% !important;
		margin: 0 !important;
	}
}

/* v1.4: interactive policy controls are not needed on paper */
.ss-policy-print,
.ss-policy-contact .ss-btn,
.ss-reading-progress {
	display: none !important;
}
