/* Langlear Student Terms - print-ready stylesheet */
:root {
  --navy: #0d3163;
  --red: #dc2b37;
  --ink: #1f2937;
  --muted: #5f6978;
  --line: #d9e1ec;
  --panel: #f5f8fc;
  --paper: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #e9edf3;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10.6pt;
  line-height: 1.48;
}

.screen-toolbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem max(1rem, calc((100vw - 900px) / 2));
  color: white;
  background: rgba(13, 49, 99, .97);
  box-shadow: 0 3px 12px rgba(0, 0, 0, .16);
}
.screen-toolbar div { display: flex; align-items: baseline; gap: .75rem; }
.screen-toolbar span { color: #cdd8ea; font-size: .86rem; }
.screen-toolbar button {
  border: 0;
  border-radius: 8px;
  padding: .7rem 1rem;
  color: white;
  background: var(--red);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.screen-toolbar button:hover { background: #bd1f2b; }

.document {
  width: min(210mm, calc(100% - 2rem));
  min-height: 297mm;
  margin: 1.5rem auto 3rem;
  padding: 18mm 18mm 20mm;
  background: var(--paper);
  box-shadow: 0 12px 36px rgba(28, 39, 55, .15);
}
.running-label {
  margin: 0 0 18mm;
  padding-bottom: 2.5mm;
  border-bottom: 1px solid var(--line);
  color: var(--navy);
  font-size: 7.6pt;
  font-weight: 700;
  letter-spacing: .06em;
}
.brand-kicker {
  margin: 0 0 1mm;
  color: var(--red);
  font-size: 9pt;
  font-weight: 800;
  letter-spacing: .08em;
}
h1 {
  max-width: 175mm;
  margin: 0;
  color: var(--navy);
  font-size: 25pt;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.subtitle {
  margin: 2mm 0 8mm;
  color: var(--muted);
  font-size: 12pt;
}
h2 {
  break-after: avoid-page;
  margin: 9mm 0 3mm;
  padding-top: 1mm;
  color: var(--navy);
  font-size: 16pt;
  line-height: 1.18;
}
h3 {
  break-after: avoid-page;
  margin: 6mm 0 2mm;
  color: var(--navy);
  font-size: 12.5pt;
}
p { margin: 0 0 2.6mm; orphans: 3; widows: 3; }
strong { color: #15243a; }

.meta-card {
  margin: 7mm 0;
  border: 1px solid #d8e1ee;
  border-left: 3px solid var(--red);
  background: var(--panel);
}
.meta-card div {
  display: grid;
  grid-template-columns: 33mm 1fr;
  border-bottom: 1px solid #e1e7f0;
}
.meta-card div:last-child { border-bottom: 0; }
.meta-card dt, .meta-card dd { margin: 0; padding: 2.1mm 3mm; }
.meta-card dt { color: var(--navy); font-weight: 700; }

.terms-list {
  margin: 1mm 0 3mm;
  padding-left: 6mm;
}
.terms-list li { margin: 0 0 1.6mm; padding-left: 1.5mm; }
.terms-list li::marker { color: var(--red); }

.notice {
  break-inside: avoid;
  display: grid;
  grid-template-columns: 34mm 1fr;
  gap: 3mm;
  margin: 5mm 0 7mm;
  padding: 3mm 4mm;
  border-left: 3px solid var(--red);
  background: #fff4f5;
}
.notice span {
  color: var(--red);
  font-size: 8pt;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.notice strong { color: var(--navy); font-size: 9.3pt; }

@media (max-width: 700px) {
  body { font-size: 10.4pt; }
  .screen-toolbar { position: static; align-items: flex-start; }
  .screen-toolbar div { display: block; }
  .screen-toolbar span { display: block; margin-top: .15rem; }
  .document { width: 100%; margin: 0; padding: 10mm 7mm 16mm; box-shadow: none; }
  .running-label { margin-bottom: 11mm; }
  h1 { font-size: 21pt; }
  .meta-card div { grid-template-columns: 1fr; }
  .meta-card dt { padding-bottom: 0; }
  .notice { grid-template-columns: 1fr; }
}

@page {
  size: A4;
  margin: 16mm 17mm 18mm;
}

@media print {
  :root { color-scheme: light; }
  body { background: white; font-size: 9.7pt; line-height: 1.38; }
  .screen-toolbar { display: none !important; }
  .document {
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    box-shadow: none;
  }
  .running-label { margin-bottom: 10mm; }
  h1 { font-size: 23pt; }
  h2 { margin-top: 7mm; font-size: 14.5pt; }
  h3 { margin-top: 5mm; }
  p, li { orphans: 3; widows: 3; }
  .meta-card, .notice { break-inside: avoid-page; }
  a { color: inherit; text-decoration: none; }
}
