/**
 * Print version of the program sheet (includes/program-sheet-print.php).
 * Plain CSS, not part of the Vite bundle: the bundle scopes every rule under
 * [data-section="majors2"], and hiding the rest of the page needs a rule on body.
 * Sizes are in pt so the layout matches the PDF sheet (program-sheet.php).
 */

[data-program-sheet] {
	display: none;
}

@media print {
	/* Zero page margin: browsers draw their own header and footer (title, URL, date,
	   page number) in the margin, so with none there is nothing to print there.
	   The sheet's own padding below puts the 0.35in margin back. */
	@page {
		size: letter portrait;
		margin: 0;
	}

	html,
	body {
		margin: 0 !important;
		padding: 0 !important;
		background: white !important;
	}

	/* Everything on the page except the sheet, including anything scripts add to <body>. */
	body > *:not([data-program-sheet]) {
		display: none !important;
	}

	[data-program-sheet] {
		display: block;
		box-sizing: border-box;
		padding: 0.35in;
		font-family: 'museo-sans', sans-serif;
		font-weight: 500;
		color: var(--color-eiu-ui-gray-dark);
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.ps-page {
		display: flex;
		flex-direction: column;
		height: 10.2in;
		overflow: hidden;
		break-inside: avoid;
	}

	.ps-title {
		background: var(--color-eiu-blue);
		color: white;
		padding: 9pt 14pt 10pt;
	}

	.ps-title-name {
		font-size: 19pt;
		font-weight: 700;
		line-height: 1.15;
	}

	.ps-title-sub {
		margin-top: 3pt;
		font-size: 8.5pt;
		font-weight: 700;
	}

	.ps-label {
		font-size: 6.5pt;
		line-height: 1.2;
		text-transform: uppercase;
		color: var(--color-eiu-text-gray);
		letter-spacing: 0.02em;
	}

	.ps-value {
		font-size: 9pt;
		font-weight: 700;
		line-height: 1.25;
		white-space: pre-line;
		color: var(--color-eiu-text-gray);
	}

	.ps-groups {
		display: flex;
		align-items: center;
		gap: 12pt;
		margin-top: 10pt;
		padding: 0 4pt 5pt;
		border-bottom: 0.5pt solid var(--color-eiu-ui-gray-border-light);
	}

	.ps-groups .ps-label {
		flex: 0 0 62pt;
		text-align: center;
	}

	.ps-stats {
		display: flex;
		margin-top: 6pt;
	}

	.ps-stat {
		display: flex;
		align-items: center;
		gap: 8pt;
		flex: 1 1 0;
		padding: 4pt 6pt;
	}

	.ps-stat + .ps-stat {
		border-left: 0.5pt solid var(--color-eiu-ui-gray-border-light);
	}

	.ps-stat-area { flex-grow: 1.3; }
	.ps-stat-credit { flex-grow: 1.2; }
	.ps-stat-delivery { flex-grow: 1.4; }

	.ps-stat .ps-label {
		flex: 0 0 40pt;
		text-align: center;
	}

	.ps-intro {
		margin: 12pt 6pt 0;
		font-size: 11pt;
		line-height: 1.3;
		color: var(--color-eiu-blue);
	}

	.ps-cols {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12pt;
		margin-top: 10pt;
	}

	.ps-bar {
		margin: 0;
		padding: 6pt 8pt;
		background: var(--color-eiu-blue);
		color: white;
		font-size: 9.5pt;
		font-weight: 700;
		line-height: 1.2;
		text-transform: uppercase;
	}

	.ps-cols p {
		margin: 6pt 8pt 0;
		font-size: 10pt;
		line-height: 1.28;
		max-height: 89.6pt; /* seven whole lines, so a long list never shows half a line */
		overflow: hidden;
	}

	.ps-overview {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: 0;
		margin-top: 12pt;
	}

	.ps-overview p {
		margin: 8pt 6pt 0;
		font-size: 9pt;
		line-height: 1.3;
		color: var(--color-eiu-text-gray);
		overflow: hidden;
	}

	.ps-bottom {
		display: grid;
		grid-template-columns: 372pt 1fr;
		gap: 10pt;
		height: 178pt;
		margin-top: 12pt;
	}

	.ps-contact,
	.ps-outcomes {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.ps-contact-list {
		display: flex;
		gap: 12pt;
		padding: 8pt 8pt 0;
	}

	.ps-person {
		display: flex;
		flex-direction: column;
		flex: 0 0 172pt;
		font-size: 9pt;
		line-height: 1.3;
		color: black;
	}

	.ps-person strong {
		margin-bottom: 2pt;
		font-size: 10.5pt;
		font-weight: 700;
	}

	.ps-link {
		display: flex;
		align-items: center;
		gap: 14pt;
		margin-top: auto;
		padding-left: 4pt;
	}

	.ps-link img {
		width: 70pt;
		height: 70pt;
	}

	.ps-link span {
		font-size: 16pt;
		font-weight: 700;
		color: var(--color-eiu-text-gray);
		overflow-wrap: anywhere;
	}

	.ps-careers {
		margin: 10pt 6pt 0;
		font-size: 9pt;
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		color: black;
		max-height: 82pt; /* seven whole lines */
		overflow: hidden;
	}

	.ps-salary-label {
		margin: 8pt 6pt 0;
		font-size: 9pt;
		line-height: 1.3;
		text-align: center;
		color: black;
	}

	.ps-salary {
		margin: 4pt 0 0;
		font-size: 15pt;
		font-weight: 700;
		text-align: center;
		color: var(--color-eiu-blue);
	}
}
