/* ============================================================================
   Packed Plans — print (DESIGN.md §8, graft G6). Loaded with media="print".
   A handful of rules for a disproportionate credibility return: the
   borders-not-shadows chassis already prints well.
   ========================================================================= */

@page {
	margin: 18mm 14mm;
}

html,
body {
	background: #fff !important;
	color: #000 !important;
}

body {
	font-size: 11pt;
	line-height: 1.45;
}

/* Chrome the page does not need on paper. */
header.wp-block-template-part,
.pp-header,
.pp-progress,
.pp-nav,
.wp-block-navigation,
.pp-stickycta,
.pp-pagination,
.pp-404__search,
.wp-block-search,
.pp-footer__cols,
.pp-home-hero__actions {
	display: none !important;
}

/* Photographs are kept, but capped so one picture cannot own a page. */
img {
	max-block-size: 60mm;
	width: auto;
	filter: none !important;
	break-inside: avoid;
}

/* Cards flatten to bordered blocks, one per row. */
.pp-cards__grid,
.pp-updatedlist__list {
	display: block !important;
}

.pp-cards__grid > li,
.pp-updatedlist__list > li,
.pp-stay,
.pp-act,
.pp-tiers__card,
.pp-callout,
.pp-disclosure {
	break-inside: avoid;
	box-shadow: none !important;
	border: 1px solid #999 !important;
	margin-block-end: 6mm;
	width: 100% !important;
}

h1,
h2,
h3 {
	break-after: avoid;
	color: #000 !important;
}

table {
	break-inside: auto;
	width: 100%;
}

tr,
thead {
	break-inside: avoid;
}

thead {
	display: table-header-group;
	position: static !important;
	box-shadow: none !important;
}

/* The cost table prints as the plain table it already is: the bar becomes a
   1px rule under the price, and the flights column comes back at any width. */
.pp-costs__bar {
	inset-block-end: 0 !important;
	block-size: 1px !important;
	background: #000 !important;
	opacity: .45;
}

.pp-costs__flights {
	display: table-cell !important;
}

/* The budget matrix is not a scroll region on paper. */
.pp-tiers__scroller {
	overflow: visible !important;
	mask-image: none !important;
}

/* FAQ answers are all present on paper. */
details {
	display: block;
}

details > *:not(summary) {
	display: block !important;
	block-size: auto !important;
}

summary {
	list-style: none;
}

summary::marker {
	content: "";
}

summary::-webkit-details-marker {
	display: none;
}

.pp-faq__chev {
	display: none !important;
}

/* Affiliate links expand to the destination-page anchor, never the redirect:
   a printed /go/ URL is a dead string to a reader (DESIGN §8). */
a[href*="/go/"]::after {
	content: " (see " attr(data-placement) " on this page)";
	font-size: 9pt;
}

/* Editorial links expand normally. */
a[href^="http"]:not([href*="/go/"])::after {
	content: " (" attr(href) ")";
	font-size: 9pt;
	word-break: break-all;
}

/* Decoration that means nothing in ink. */
.pp-rule,
.pp-eyebrow::after,
.pp-section__title::before,
.pp-archive__title::before,
.pp-act__num {
	display: none !important;
}

.pp-itin__body::first-letter {
	font-size: inherit !important;
	float: none !important;
	color: inherit !important;
	line-height: inherit !important;
}

/* The disclosure is kept, and kept legible. */
.pp-disclosure,
.pp-cta__note,
.pp-footer__legal {
	color: #000 !important;
	font-size: 10pt !important;
}

/* No sticky bar on paper, so no reserved height under the footer either. */
.pp-has-stickycta .pp-footer {
	padding-block-end: 0 !important;
}
