:root{
  --bg: #ffffff;
  --text: #111111;
  --muted: #444444;
  --border: #d7d7d7;
  --paper: #ffffff;
}

*{ box-sizing: border-box; }

html, body{
  margin:0; padding:0;
  background: var(--bg);
  color: var(--text);
}

body{
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  line-height: 1.5;
}

.page{
  max-width: 920px;
  margin: 36px auto;
  padding: 0 20px 60px;
}

.letterhead{
  border-bottom: 1px solid var(--border);
  padding-bottom: 14px;
  margin-bottom: 18px;
}

.letterhead__top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 16px;
}

.title{
  margin:0;
  font-size: 34px;
  letter-spacing: 0.2px;
}

.btn{
  appearance:none;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  cursor:pointer;
}

.btn:hover{ background: #f6f6f6; }

.briefhead{
  margin-top: 10px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 6px;
  font-size: 14px;
}

.briefhead__row{
  display:flex;
  gap: 10px;
  align-items:baseline;
}

.briefhead__label{
  min-width: 110px;
  color: var(--muted);
}

.briefhead__value{
  font-weight: 700;
}

.paper{
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--paper);
  padding: 18px 18px 12px;
}

.meta{
  color: #0645ad;
  text-decoration: underline;
}
a:visited{ color: #0b0080; }
a:hover{ text-decoration: underline; }


.content{
  font-size: 15px;
}

.intro{
  margin-bottom: 18px;
}

.intro p{ margin: 0 0 10px; }

.para{
  padding-top: 6px;
}

.para h2{
  margin: 14px 0 8px;
  font-size: 18px;
  font-weight: 700;
}

.para p{
  margin: 0 0 10px;
}

.para ul{
  margin: 0 0 10px 18px;
}

hr.sep{
  border: none;
  border-top: 1px solid var(--border);
  margin: 16px 0;
}

@page{
  size: A4;
  margin: 18mm 16mm 18mm 16mm;
}

@media print{
  html, body{ background: #fff; }
  .page{ margin: 0; max-width: none; padding: 0; }
  .btn{ display:none !important; }
  .paper{ border: none; padding: 0; }
  .letterhead{ border-bottom: 1px solid #000; }
  .meta{ display:none !important; }

  /* Seitenumbrüche nach §§ */
  .para{
    break-after: page;
    page-break-after: always;
  }
  .para:last-of-type{
    break-after: auto;
    page-break-after: auto;
  }
}
