/* Amateur Radio Satellites: print-friendly letter-size layout (HTML5 + CSS3)
   File: amateur-radio-satellites-status-and-plans-2026-01.css
*/

:root{
  --text: #111;
  --muted: #444;
  --rule: #ddd;
  --bg: #fff;
}

*{ box-sizing: border-box; }

html, body{
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  line-height: 1.35;
}

.page{
  max-width: 6.5in; /* Letter width minus 2x 1-inch margins */
  margin: 0 auto;
  padding: 0.4in 0.25in; /* screen padding; print overrides */
  overflow-wrap: anywhere; /* prevent overflow beyond margins */
  word-break: break-word;
}

h1{
  font-size: 18pt;
  margin: 0 0 0.15in 0;
}

h2{
  font-size: 13.5pt;
  margin: 0.22in 0 0.1in 0;
  padding-top: 0.06in;
  border-top: 1px solid var(--rule);
}

h3{
  font-size: 11.5pt;
  margin: 0.18in 0 0.06in 0;
}

p, li{
  font-size: 10.8pt;
}

.meta{
  color: var(--muted);
  margin: 0 0 0.14in 0;
}

.disclaimer{
  margin: 0 0 0.18in 0;
  padding: 0.10in 0.12in;
  border: 1px solid var(--rule);
  border-radius: 8px;
}

.callout{
  margin: 0.12in 0 0.12in 0;
  padding: 0.10in 0.12in;
  border-left: 4px solid var(--rule);
  background: #fafafa;
}

.table-wrap{
  width: 100%;
  overflow: hidden; /* prevent print overflow */
  margin: 0.10in 0 0.10in 0;
}

table{
  width: 100%;
  border-collapse: collapse;
  font-size: 10.2pt;
}

th, td{
  border: 1px solid var(--rule);
  padding: 0.08in 0.08in;
  vertical-align: top;
}

th{
  text-align: left;
  background: #f4f4f4;
}

a{
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.sep{
  border: none;
  border-top: 2px solid var(--rule);
  margin: 0.25in 0 0.12in 0;
}

.notes ol{
  padding-left: 0.25in;
}

.notes li{
  margin: 0 0 0.10in 0;
}

.doc-footer{
  margin-top: 0.25in;
  padding-top: 0.12in;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font-size: 10pt;
}

/* Print */
@page{
  size: Letter;
  margin: 1in;
}

@media print{
  body{ background: #fff; }
  .page{
    max-width: none;
    margin: 0;
    padding: 0; /* rely on @page margins for hard constraint */
  }

  /* Keep tables and headings from splitting awkwardly */
  h2, h3{ break-after: avoid; page-break-after: avoid; }
  table, .disclaimer, .callout{ break-inside: avoid; page-break-inside: avoid; }
  tr{ break-inside: avoid; page-break-inside: avoid; }

  /* Ensure links remain visible; URLs are already printed as text in Notes */
  a{ text-decoration: underline; }
}
