/* pnw-beach-salmon-steam-box.css
   Print-first layout for US Letter with 1-inch margins.
*/

@page {
  size: Letter;
  margin: 1in;
}

/* Use border-box so widths remain inside the printable frame */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  padding: 0;
  margin: 0;
  color: #000;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.35;
  font-size: 11pt;
}

/* Constrain all printable content to the inner printable area:
   8.5in - 2in margins = 6.5in content width.
*/
.page {
  width: 6.5in;
  margin: 0 auto;
  padding: 0;
}

/* Typography */
h1 {
  font-size: 18pt;
  margin: 0 0 8pt 0;
  font-weight: 700;
}
h2 {
  font-size: 13pt;
  margin: 14pt 0 6pt 0;
  font-weight: 700;
  page-break-after: avoid;
}
h3 {
  font-size: 11.5pt;
  margin: 10pt 0 4pt 0;
  font-weight: 700;
  page-break-after: avoid;
}
p {
  margin: 0 0 8pt 0;
}
.small {
  font-size: 9.5pt;
}
.muted {
  color: #222;
}

/* Lists */
ol, ul {
  margin: 0 0 10pt 18pt;
  padding: 0;
}
li {
  margin: 0 0 6pt 0;
}
li p {
  margin: 4pt 0 0 0;
}

/* Callouts */
.callout {
  border: 1px solid #000;
  padding: 8pt 10pt;
  margin: 10pt 0;
}
.callout h3 {
  margin-top: 0;
}

/* Table */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 6pt 0 10pt 0;
  table-layout: fixed;
}
th, td {
  border: 1px solid #000;
  padding: 6pt 6pt;
  vertical-align: top;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
th {
  font-weight: 700;
}

/* Keep critical blocks together */
.keep-together {
  page-break-inside: avoid;
}

/* Footer */
.footer {
  margin-top: 14pt;
  padding-top: 8pt;
  border-top: 1px solid #000;
  font-size: 9.5pt;
}

/* Screen polish (no effect on print margins) */
@media screen {
  body {
    background: #f7f7f7;
  }
  .page {
    background: #fff;
    padding: 18pt 18pt;
    margin: 18pt auto;
    box-shadow: 0 2px 10px rgba(0,0,0,0.12);
  }
}

/* Print adjustments */
@media print {
  body {
    background: #fff;
  }
  .page {
    padding: 0;
    box-shadow: none;
  }
  a {
    color: #000;
    text-decoration: underline;
  }
}
