@page {
  size: A4;
  margin: 8mm;
}

body.print-v2,
body.print-v2 * {
  box-sizing: border-box !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

body.print-v2 {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #1f2b3d !important;
  background: #fff !important;
  font-family: Arial, "Segoe UI", sans-serif !important;
}

body.print-v2::before,
body.print-v2 #skyCanvas,
body.print-v2 .app-shell,
body.print-v2 .print-watermark,
body.print-v2 .print-footer {
  display: none !important;
  content: none !important;
}

body.print-v2 .ebook-print-area {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
  background: #fff !important;
}

body.print-v2 .print-document,
body.print-v2 .print-document * {
  visibility: visible !important;
}

body.print-v2 .print-document {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1f2b3d !important;
  background: #fff !important;
  font-family: Arial, "Segoe UI", sans-serif !important;
}

body.print-v2 .print-cover {
  display: grid !important;
  min-height: 245mm !important;
  align-content: start !important;
  justify-items: center !important;
  margin: 0 !important;
  padding: 26mm 0 0 !important;
  color: #1f2b3d !important;
  background: #fff !important;
  text-align: center !important;
  break-after: page !important;
  page-break-after: always !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.print-v2 .print-cover img {
  display: block !important;
  width: 76mm !important;
  max-width: 76mm !important;
  height: auto !important;
  margin: 0 auto 16mm !important;
  object-fit: contain !important;
}

body.print-v2 .print-cover h1 {
  width: 100% !important;
  max-width: 155mm !important;
  margin: 0 !important;
  color: #1f2b3d !important;
  font-family: Arial, "Segoe UI", sans-serif !important;
  font-size: 28pt !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

body.print-v2 .print-cover span,
body.print-v2 .print-cover strong,
body.print-v2 .print-cover small {
  display: block !important;
  width: 100% !important;
  max-width: 145mm !important;
  margin: 5mm 0 0 !important;
  color: #26344d !important;
  font-family: Arial, "Segoe UI", sans-serif !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

body.print-v2 .print-cover span {
  color: #1f5f8e !important;
  font-size: 15pt !important;
  font-weight: 800 !important;
}

body.print-v2 .print-cover strong {
  font-size: 12pt !important;
  font-weight: 700 !important;
}

body.print-v2 .print-cover small {
  color: #5f6d82 !important;
  font-size: 11pt !important;
  font-weight: 700 !important;
}

body.print-v2 .print-toc {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  break-after: page !important;
  page-break-after: always !important;
}

body.print-v2 .print-toc h2 {
  margin: 0 0 8mm !important;
  color: #15456d !important;
  font-size: 20pt !important;
  line-height: 1.1 !important;
}

body.print-v2 .print-toc-row {
  display: grid !important;
  grid-template-columns: 12mm minmax(0, 1fr) 42mm !important;
  gap: 4mm !important;
  align-items: start !important;
  padding: 2.4mm 0 !important;
  border-bottom: 0.25mm solid rgba(31, 77, 117, 0.18) !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.print-v2 .print-toc-row strong,
body.print-v2 .print-toc-row span,
body.print-v2 .print-toc-row em {
  font-size: 9.5pt !important;
  line-height: 1.25 !important;
}

body.print-v2 .print-toc-row strong {
  color: #1f5f8e !important;
}

body.print-v2 .print-toc-row em {
  color: #65738a !important;
  font-style: normal !important;
  text-align: right !important;
}

body.print-v2 .print-lesson {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1f2b3d !important;
  background: #fff !important;
  break-before: auto !important;
  page-break-before: auto !important;
  overflow: visible !important;
}

body.print-v2 .print-lesson + .print-lesson {
  break-before: page !important;
  page-break-before: always !important;
}

body.print-v2 .print-lesson-header {
  display: grid !important;
  grid-template-columns: 13mm minmax(0, 1fr) !important;
  gap: 4mm !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 6mm !important;
  padding: 0 0 4mm !important;
  border-bottom: 0.55mm solid var(--theme, #1f4d75) !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.print-v2 .print-lesson-header > span {
  display: grid !important;
  place-items: center !important;
  width: 11mm !important;
  height: 11mm !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: var(--theme, #1f4d75) !important;
  font-size: 9pt !important;
  font-weight: 800 !important;
}

body.print-v2 .print-lesson-header p,
body.print-v2 .print-lesson-header h2,
body.print-v2 .print-lesson-header strong {
  margin: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.print-v2 .print-lesson-header p {
  color: var(--theme, #1f4d75) !important;
  font-size: 9.5pt !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
}

body.print-v2 .print-lesson-header h2 {
  margin-top: 1.5mm !important;
  color: #1f2b3d !important;
  font-size: 18pt !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
}

body.print-v2 .print-lesson-header strong {
  display: block !important;
  margin-top: 2.5mm !important;
  color: #53627a !important;
  font-size: 10pt !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.print-v2 .print-sections {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.print-v2 .print-section {
  display: block !important;
  width: 100% !important;
  margin: 0 0 4mm !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  break-inside: auto !important;
  page-break-inside: auto !important;
}

body.print-v2 .print-section h3 {
  display: block !important;
  margin: 0 0 1.5mm !important;
  padding: 1.4mm 0 1.4mm 3mm !important;
  border-left: 1mm solid var(--theme, #1f4d75) !important;
  color: var(--theme, #1f4d75) !important;
  background: rgba(31, 77, 117, 0.04) !important;
  font-size: 10.5pt !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  break-after: avoid !important;
  page-break-after: avoid !important;
}

body.print-v2 .print-copy {
  display: block !important;
  margin: 0 !important;
  padding: 0 0 0 3mm !important;
  border-left: 0.35mm solid rgba(31, 77, 117, 0.16) !important;
  color: #28384d !important;
  background: transparent !important;
  font-family: Arial, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  text-align: justify !important;
  white-space: normal !important;
  widows: 2;
  orphans: 2;
}

body.print-v2 .print-copy p,
body.print-v2 .print-copy div {
  margin: 0 !important;
  padding: 0 !important;
}

body.print-v2 .print-copy br + br {
  display: block !important;
  content: "" !important;
  margin-top: 2mm !important;
}

body.print-v2 .print-copy ul,
body.print-v2 .print-copy ol {
  margin: 0 !important;
  padding-left: 7mm !important;
  white-space: normal !important;
}

body.print-v2 .print-copy li {
  margin: 0 !important;
  padding-left: 1mm !important;
}

body.print-v2 .print-image-section {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.print-v2 .print-activity-image {
  display: block !important;
  max-width: 100% !important;
  max-height: 210mm !important;
  margin: 3mm auto 0 !important;
  object-fit: contain !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.print-v2 .print-footer-block {
  display: grid !important;
  grid-template-columns: 18mm minmax(0, 1fr) minmax(0, 1.15fr) !important;
  gap: 4mm !important;
  align-items: center !important;
  width: 100% !important;
  margin: 8mm 0 0 !important;
  padding: 3mm 0 0 !important;
  border-top: 0.35mm solid rgba(31, 77, 117, 0.22) !important;
  color: #31506f !important;
  font-size: 8pt !important;
  line-height: 1.2 !important;
  text-align: left !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body.print-v2 .print-footer-block img {
  display: block !important;
  width: 17mm !important;
  max-height: 12mm !important;
  object-fit: contain !important;
}

body.print-v2 .print-footer-block span {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.print-v2 .print-footer-block strong {
  color: #15456d !important;
  font-weight: 800 !important;
}
