/*
 * Classroom lessons: print.
 * Loaded with media="print" on classroom views only. Drops site chrome and the
 * action buttons, sets US Letter, keeps each segment together where possible,
 * and prints suggested responses and teacher notes in full so the paper copy
 * is complete.
 */

@page {
	margin: 0.6in 0.7in;
	size: letter;
}

/* Site chrome off. */
.site-header,
.site-footer,
.copy-right-section,
.cl-cr-breadcrumb,
.cl-cr-actions,
.cl-cr-foot-action,
.cl-cr-end,
.cl-cr-lane-media,
.cl-cr-bands,
.cl-cr-band,
.cl-lesson-pagination,
.cl-cr-print,
.cl-cr-handout,
#wpadminbar,
.grecaptcha-badge {
	display: none !important;
}

html,
body {
	background: #fff !important;
	color: #000 !important;
	font-size: 11pt;
}

.cl-classroom,
.cl-classroom * {
	box-shadow: none !important;
	color: #000 !important;
	text-shadow: none !important;
	transition: none !important;
}

.cl-classroom .container {
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Hero becomes a plain document head. */
.cl-cr-hero {
	background: none !important;
	border-bottom: 2px solid #000;
	margin: 0 0 14pt;
	padding: 0 0 12pt !important;
}

.cl-cr-hero .cl-lesson-meta {
	margin: 0 0 8pt;
}

.cl-cr-hero .cl-lesson-meta span,
.cl-cr-hero .cl-lesson-meta a {
	background: none !important;
	border: 1px solid #000 !important;
	font-size: 9pt;
	padding: 2pt 6pt;
}

.cl-cr-hero h1 {
	font-size: 20pt;
	line-height: 1.1;
	margin: 0;
}

.cl-cr-question {
	border-top: 1px solid #999;
	margin-top: 10pt;
	padding-top: 8pt;
}

.cl-cr-question .cl-mini-label,
.cl-classroom .cl-mini-label {
	font-size: 8.5pt;
	margin-bottom: 3pt;
}

.cl-cr-question-text {
	font-size: 18pt;
	line-height: 1.15;
}

/* Before you teach: a tidy two-column block. */
.cl-cr-glance {
	background: none !important;
	border-bottom: 1px solid #999;
	margin: 0 0 12pt;
	padding: 0 0 10pt !important;
}

.cl-cr-glance-grid {
	gap: 8pt 24pt;
}

.cl-cr-glance dt {
	font-size: 8.5pt;
	margin-bottom: 2pt;
}

.cl-cr-glance dd,
.cl-cr-glance-objective dd {
	font-size: 11pt;
	line-height: 1.4;
}

.cl-cr-materials li {
	border: 1px solid #999 !important;
	font-size: 10pt;
	padding: 1pt 5pt;
}

/* Body. */
.cl-cr-body {
	padding: 0 !important;
}

.cl-cr-body p,
.cl-cr-body li {
	font-size: 11pt;
	line-height: 1.45;
	orphans: 3;
	widows: 3;
}

.cl-cr-segments {
	margin-top: 10pt;
}

/* Segments may break across pages (the read-aloud ones are long); the
   heading always stays with the first lines of its body. */
.cl-cr-segment {
	border-top: 1px solid #999;
	padding: 10pt 0 12pt;
}

.cl-cr-segment-head {
	break-after: avoid;
	break-inside: avoid;
	margin-bottom: 6pt;
}

.cl-cr-segment-body > :first-child {
	break-before: avoid;
}

.cl-cr-segment-tags {
	font-size: 8.5pt;
	margin-bottom: 2pt;
}

.cl-cr-minutes::before {
	background: #000 !important;
	height: 5pt;
	width: 5pt;
}

.cl-cr-segment h2 {
	break-after: avoid;
	font-size: 14pt;
	line-height: 1.15;
}

.cl-cr-segment.is-read_aloud .cl-cr-segment-body p {
	font-size: 11.5pt;
}

.cl-cr-segment-body p,
.cl-cr-segment-body ul,
.cl-cr-segment-body ol {
	margin-bottom: 6pt;
}

/* Prompts with their answers shown. */
.cl-cr-prompts {
	padding-left: 18pt;
}

.cl-cr-prompts > li {
	break-inside: avoid;
	margin-bottom: 7pt;
}

.cl-cr-prompts > li::before {
	font-size: 10pt;
	left: -18pt;
	top: 0;
}

.cl-cr-response summary {
	display: inline;
	font-size: 8.5pt;
	padding: 0;
}

.cl-cr-response summary::before {
	display: none;
}

.cl-cr-response summary::after {
	content: ":";
}

.cl-cr-response-text,
.cl-cr-response-text p {
	display: inline;
	font-size: 10pt;
	margin: 0 0 0 4pt;
}

/* Teacher note: light rule box, no fill (saves toner). */
.cl-cr-note {
	background: none !important;
	border: 1px solid #999;
	break-inside: avoid;
	margin-top: 8pt;
	padding: 6pt 9pt;
}

.cl-cr-note-label {
	font-size: 8.5pt;
	margin-bottom: 2pt;
}

.cl-cr-note p {
	font-size: 10pt;
}

/* Optional extension: still printed, clearly marked. */
.cl-cr-segment.is-optional {
	border-top-style: dashed;
}

.cl-cr-optional {
	border: 1px solid #000 !important;
	padding: 1pt 5pt;
}

/* Agenda bar prints as a compact row. */
.cl-cr-agenda {
	border-top: 1px solid #999;
	break-inside: avoid;
	margin-top: 10pt;
	padding-top: 6pt;
}

.cl-cr-agenda-bar {
	gap: 3pt;
}

.cl-cr-agenda-item a {
	background: none !important;
	border: 1px solid #999 !important;
	border-top-width: 3px !important;
	gap: 0 6pt;
	min-height: 0;
	padding: 4pt 6pt;
}

.cl-cr-agenda-step { font-size: 8pt; }

.cl-cr-agenda-min { font-size: 8pt; }
.cl-cr-agenda-title { font-size: 7.5pt; }

.cl-cr-segment-head {
	grid-template-columns: 20pt minmax(0, 1fr);
	gap: 0 8pt;
}

.cl-cr-segment-num {
	background: none !important;
	border: 1.5px solid #000 !important;
	font-size: 10pt;
	height: 20pt;
	width: 20pt;
}

.cl-cr-segment-body ul > li::before {
	background: #000 !important;
}

.cl-cr-segment-body ul ul > li::before {
	background: #fff !important;
	border-color: #000 !important;
}

.cl-cr-segment.is-read_aloud .cl-cr-segment-body {
	background: none !important;
	padding: 0;
}

.cl-cr-glance-item {
	border: 0 !important;
	padding: 0 !important;
}

.cl-cr-glance-label { font-size: 8.5pt; margin-bottom: 2pt; }

/* Source line at the end of the printout. */
.cl-cr-print-foot {
	border-top: 1px solid #999;
	display: block;
	font-family: "IBM Plex Mono", monospace;
	font-size: 8pt;
	margin-top: 14pt;
	padding-top: 6pt;
}

/* Links print as text, no underlines of URLs. */
.cl-classroom a {
	text-decoration: none;
}

/* Archive printed: cards flow as a simple list. */
.cl-cr-grid {
	display: block;
}

.cl-cr-card {
	border: 0 !important;
	border-bottom: 1px solid #999 !important;
	break-inside: avoid;
	min-height: 0;
	padding: 8pt 0 !important;
}
