/* Kioo — print styles.
   Mostly for the legal pages: people print privacy policies and terms,
   and lawyers ask for them on paper. Loaded with media="print" only. */

@page {
  margin: 18mm 16mm;
}

:root {
  --brand-ink: #C2410C;
}

* {
  box-shadow: none !important;
  text-shadow: none !important;
}

body {
  background: #fff !important;
  color: #111 !important;
  font-size: 11pt;
  line-height: 1.5;
}

/* Chrome that makes no sense on paper */
.site-header,
.site-footer,
.skip,
.nav__toggle,
.nav__drawer,
.theme-toggle,
.doc__aside,
.crumbs,
.cta-band,
.btn-row,
.btn,
.store-badges,
.phones,
.phone,
video,
audio {
  display: none !important;
}

/* Flatten layout containers */
.wrap,
.wrap--narrow,
.doc,
.doc__body,
.section,
.section--tint,
.section--brand {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 1em !important;
  background: #fff !important;
  color: #111 !important;
}

.grid,
.plans,
.subjects,
.steps,
.stats {
  display: block !important;
}

.grid > *,
.plans > *,
.subjects > *,
.steps > *,
.stats > * {
  margin: 0 0 1em !important;
  break-inside: avoid;
}

.card,
.plan,
.note,
.stat,
.faq__item {
  border: 1pt solid #bbb !important;
  border-radius: 0 !important;
  padding: 10pt !important;
  background: #fff !important;
  break-inside: avoid;
}

h1, .h1 { font-size: 20pt; }
h2, .h2 { font-size: 15pt; break-after: avoid; }
h3, .h3 { font-size: 12.5pt; break-after: avoid; }

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

p, li {
  orphans: 3;
  widows: 3;
}

a {
  color: #111 !important;
  text-decoration: underline;
}

/* Show where links go — but only real destinations, not fragments */
.doc__body a[href^="http"]::after {
  content: " (" attr(href) ")";
  font-size: 8.5pt;
  color: #555 !important;
  word-break: break-all;
}

.doc__body a[href^="mailto:"]::after {
  content: " (" attr(href) ")";
  font-size: 8.5pt;
  color: #555 !important;
}

.doc__meta {
  font-size: 9pt;
  color: #555 !important;
  border-bottom: 1pt solid #bbb;
  padding-bottom: 6pt;
}

/* Tables print full-width with visible rules */
.table-wrap {
  overflow: visible !important;
}

table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 9.5pt;
}

th, td {
  border: 0.5pt solid #999 !important;
  padding: 4pt 6pt !important;
  background: #fff !important;
  color: #111 !important;
  text-align: left;
}

thead {
  display: table-header-group; /* repeat headers across pages */
}

tr {
  break-inside: avoid;
}

/* Accordions: print everything opened */
details {
  display: block;
}

details > * {
  display: block !important;
}

details summary {
  font-weight: 700;
  list-style: none;
}

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

img {
  max-width: 60% !important;
  page-break-inside: avoid;
}

.badge, .pill {
  border: 0.5pt solid #999 !important;
  background: #fff !important;
  color: #111 !important;
}
