@media print {

	/* ------------------------------------------------------------------
	   Isolate the tour on the page.

	   Everything is hidden with visibility:hidden, then the tour container
	   and its descendants are made visible again. Unlike the previous
	   approach, the container is left in NORMAL FLOW (no position:absolute)
	   — absolutely positioned elements are removed from the root flow and
	   therefore cannot be paginated, which is what previously stopped page
	   breaks from happening between stops.
	   ------------------------------------------------------------------ */
	body * {
		visibility: hidden;
	}

	.wt-tour-container,
	.wt-tour-container * {
		visibility: visible;
	}

	/* Keep the container in flow; just reset spacing. Do NOT use
	   position:absolute here — it breaks pagination. */
	.wt-tour-container {
		margin: 0 !important;
		padding: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		float: none !important;
	}

	/* Elements that shouldn't print. */
	.wt-map,
	.wt-print-btn {
		display: none !important;
	}

	/* Print-only site header (logo + name). */
	.wt-print-header {
		display: flex !important;
		align-items: center;
		gap: 12px;
		padding-bottom: 10px;
		margin-bottom: 16px;
		border-bottom: 2px solid #222;
	}

	.wt-print-logo {
		max-height: 60px;
		width: auto;
	}

	.wt-print-sitename {
		font-size: 16pt;
		font-weight: 700;
	}

	/* Tour title / description block should stay together and not be
	   split from the first stop awkwardly. */
	.wt-tour-header {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.wt-tour-title {
		font-size: 22pt;
		margin: 0 0 6px;
	}

	.wt-tour-featured-image {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.wt-tour-featured-image img {
		max-height: 3in;
		width: auto;
		max-width: 100%;
	}

	/* Each stop prints as an intact block, never split across a page. */
	.wt-stops-list {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.wt-stop {
		break-inside: avoid;
		page-break-inside: avoid;
		border-bottom: 1px solid #999;
		padding: 12px 0;
		/* Give the browser a hint that a stop is a good unit to keep whole. */
		display: flex;
		gap: 12px;
	}

	.wt-stop-image {
		float: none;
		width: 150px;
		max-width: 150px;
		height: auto;
		margin: 0 12px 6px 0;
	}

	/* Expand shortened/linked URLs are unnecessary noise on paper. */
	a[href]:after {
		content: "";
	}
}
