/* Page PDF Export — View/Download module */
.ppe-download-module {
	margin: 28px 0;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #f9fafb;
	overflow: hidden;
}
.ppe-download-inner {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	flex-wrap: wrap;
}
.ppe-download-icon {
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #e5e7eb;
	color: #374151;
}
.ppe-download-text {
	flex: 1 1 200px;
	min-width: 0;
}
.ppe-download-title {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	color: #111827;
	margin-bottom: 2px;
}
.ppe-download-desc {
	font-size: 13px;
	color: #6b7280;
	line-height: 1.5;
}
.ppe-download-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 14px;
}
.ppe-view-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	line-height: 1;
	transition: filter .15s ease;
	white-space: nowrap;
}
.ppe-view-btn:hover,
.ppe-view-btn:focus { color: inherit; }
.ppe-dl-link {
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	white-space: nowrap;
}

@media (max-width: 600px) {
	.ppe-download-inner { gap: 12px; }
	.ppe-download-actions { width: 100%; }
	.ppe-view-btn { flex: 1 1 auto; justify-content: center; }
}

/* ---------------------------------------------------------------------------
 * The print button, and what the printed page looks like.
 *
 * window.print() reproduces the page exactly, because it is the browser that
 * drew it — but only if the page's furniture gets out of the way first. These
 * rules are the difference between "a faithful document" and "a screenshot of
 * a website including its navigation".
 * ------------------------------------------------------------------------ */

.ppe-print-link {
	background: none;
	border: 0;
	padding: 0;
	margin-left: 14px;
	font: inherit;
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
}

@media print {
	/* Anything that is interface rather than content. */
	header, footer, nav, aside,
	.site-header, .site-footer, .main-navigation, .menu-toggle,
	.sidebar, .widget-area, .breadcrumb, .breadcrumbs,
	.ppe-download-module, .back-to-top, .cookie-notice,
	.sticky-bar, .modal, .popup, .related, .related-posts, .related-products {
		display: none !important;
	}

	/* Give the content the whole sheet: the site's column widths were chosen
	   for a browser window, and a paper page is narrower than all of them. */
	body, main, .fff-page, .entry-content, .page-content, article, .content {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		background: #fff !important;
	}

	/* Keep a table, a figure or a drawing whole rather than split across a
	   page break — which is the single thing readers complain about. */
	table, figure, img, svg, pre, blockquote,
	.fff-spec-table, .fff-drawing, .fff-apps {
		page-break-inside: avoid;
		break-inside: avoid;
	}
	h1, h2, h3, h4 { page-break-after: avoid; break-after: avoid-page; }

	/* A link is useless on paper unless you can see where it goes — but only
	   for real destinations, not for every in-page anchor. */
	a[href^="http"]:after {
		content: " (" attr(href) ")";
		font-size: 85%;
		word-break: break-all;
	}

	@page { margin: 16mm 14mm; }
}
