/* Zweck: Unterlagen, Statusstufen und Behördenlisten | Schicht: Content | Seiten: /heiraten/ */
.marriage-documents { list-style: none; padding: 0; margin: .75rem 0; }
.marriage-documents label { display: flex; align-items: flex-start; gap: .65rem; padding: .4rem 0; cursor: pointer; }
.marriage-documents input { flex: 0 0 18px; margin-top: .25em; }
.marriage-documents span { min-width: 0; overflow-wrap: anywhere; }
.marriage-document-progress { font-weight: 650; }
.marriage-document-panel { margin: 1rem 0; min-width: 0; }
.marriage-document-heading { margin: .9rem 0 .5rem; }
.marriage-document-cards { display: grid; gap: .8rem; }
.marriage-document-card { padding: 1rem; border: 1px solid var(--marriage-open-border); border-radius: 8px; background: var(--marriage-open-bg); color: var(--marriage-status-ink); }
.marriage-document-card[data-status="requested"] { background: var(--marriage-working-bg); border-color: var(--marriage-working-border); }
.marriage-document-card:is([data-status="received"],[data-status="submitted"]) { background: var(--marriage-done-bg); border-color: var(--marriage-done-border); }
.marriage-document-card[data-status="excluded"] { background: var(--marriage-neutral-bg); border-color: var(--marriage-neutral-border); }
.marriage-document-title { line-height: 1.6; margin: 0 0 .75rem; overflow-wrap: anywhere; }
.marriage-status-badge { display: inline-block; width: fit-content; max-width: 100%; box-sizing: border-box; padding: .2rem .5rem; border: 1px solid var(--marriage-open-border); border-radius: 5px; background: var(--marriage-open-bg); color: var(--marriage-status-ink); font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.marriage-status-badge:is([data-status="requested"],[data-status="working"]) { background: var(--marriage-working-bg); border-color: var(--marriage-working-border); }
.marriage-status-badge:is([data-status="received"],[data-status="done"],[data-status="submitted"]) { background: var(--marriage-done-bg); border-color: var(--marriage-done-border); }
.marriage-status-badge[data-status="excluded"] { background: var(--marriage-neutral-bg); border-color: var(--marriage-neutral-border); }
.marriage-document-status { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .85rem; margin: .5rem 0; }
.marriage-document-status label,.marriage-document-confirmation { display: flex; align-items: flex-start; gap: .5rem; cursor: pointer; line-height: 1.5; }
.marriage-document-status label { min-height: 32px; align-items: center; }
.marriage-document-status input,.marriage-document-confirmation input { flex: 0 0 auto; margin: .15rem 0 0; }
.marriage-document-confirmation { font-weight: 650; margin: 1rem 0; }
.marriage-document-actions { display: flex; gap: .5rem; flex-wrap: wrap; margin: .65rem 0; }
.marriage-document-actions .marriage-button,.marriage-document-add>.marriage-button { padding: .5rem .7rem; }
.marriage-document-field { display: grid; gap: .4rem; font-weight: 650; margin: .75rem 0; }
.marriage-document-field :is(input,textarea) { box-sizing: border-box; width: 100%; min-width: 0; padding: .65rem; border: 1px solid var(--book-muted); border-radius: 5px; background: var(--amg-paper); color: var(--book-ink); font: inherit; font-weight: 400; line-height: 1.7; }
.marriage-document-field textarea { resize: vertical; }
.marriage-document-excluded { line-height: 1.55; overflow-wrap: anywhere; }
.marriage-guide .marriage-document-card .marriage-help { color: var(--marriage-status-muted); }
.marriage-guide .marriage-document-card .marriage-button--quiet { color: var(--marriage-status-ink)!important; }
.marriage-guide .marriage-document-cards>.marriage-document-card { margin: 0; }
.marriage-document-summary { overflow-wrap: anywhere; }
.marriage-document-summary>.marriage-document-title { display: inline; margin: 0; font-weight: 700; }
.marriage-document-compact { display: block; margin-top: .35rem; font-weight: 500; line-height: 1.5; }
.marriage-document-body,.marriage-document-letters,.marriage-document-editor { min-width: 0; }
.marriage-document-body>.marriage-authority { margin-top: 1rem; }
.marriage-guide .marriage-document-table { font-size: inherit; width: 100%; border-collapse: collapse; table-layout: fixed; }
.marriage-document-table :is(th,td) { padding: .65rem .4rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--book-line); overflow-wrap: anywhere; }
.marriage-document-table th { font-weight: 650; color: var(--book-muted); }
.marriage-document-table th:first-child { width: 26%; }
.marriage-document-table th:nth-child(2) { width: 14%; }
.marriage-document-table th:nth-child(3) { width: 13%; }
.marriage-document-table th:nth-child(4) { width: 32%; }
.marriage-document-table th:nth-child(5) { width: 15%; }
.marriage-document-name { font-weight: 650; }
.marriage-document-cell>.marriage-button { padding: .4rem .5rem; }
.marriage-document-cell p { margin: .25rem 0; }
.marriage-document-stage { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--book-line); border-radius: 7px; overflow: hidden; min-width: 0; }
.marriage-document-stage>label { position: relative; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: .3rem .2rem; cursor: pointer; text-align: center; font-weight: 650; line-height: 1.45; overflow-wrap: normal; border: 1px solid var(--book-line); box-sizing: border-box; }
.marriage-document-stage input { position: absolute; opacity: 0; width: 1px; height: 1px; min-width: 0; min-height: 0; }
.marriage-document-stage>label:has(input:focus-visible) { outline: 3px solid var(--amg-orange-copy); outline-offset: -3px; }
.marriage-document-stage>label:has(input[value="open"]:checked) { background: var(--marriage-open-bg); color: var(--marriage-status-ink); }
.marriage-document-stage>label:has(input[value="requested"]:checked) { background: var(--marriage-working-bg); color: var(--marriage-status-ink); }
.marriage-document-stage>label:has(input:is([value="received"],[value="submitted"]):checked) { background: var(--marriage-done-bg); color: var(--marriage-status-ink); }
.marriage-document-stage>label:has(input:disabled) { opacity: .55; cursor: default; }
.marriage-document-more { background: var(--amg-paper); }
.marriage-planner .marriage-document-condition { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin: .75rem 0; padding: .8rem; background: var(--amg-mint-soft); border: 1px solid var(--book-line); border-radius: 8px; }
.marriage-document-condition>legend { padding: 0 .25rem; }
.marriage-document-condition>label { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; cursor: pointer; }
.marriage-document-condition>p { flex-basis: 100%; }
.marriage-document-review-note { margin: .7rem 0; padding: .75rem; border-left: 4px solid var(--amg-orange-copy); background: var(--amg-mint-soft); color: var(--book-ink); }
.marriage-list-confirmation { margin: 1rem 0; padding: 1rem; border: 1px solid var(--book-line); border-radius: 8px; background: var(--amg-paper); color: var(--book-ink); }
.marriage-list-confirmation>h3 { margin-top: 0; }
.marriage-list-confirmation-item { padding: .65rem 0; border-bottom: 1px solid var(--book-line); }
@media(max-width:900px) {
  .marriage-document-table,.marriage-document-table tbody { display: block; width: 100%; }
  .marriage-document-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .marriage-document-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: .8rem; margin: .8rem 0; border: 1px solid var(--book-line); border-radius: 8px; }
  .marriage-document-table .marriage-document-cell { display: block; padding: .4rem; border: 0; min-width: 0; }
  .marriage-document-cell::before { content: attr(data-label); display: block; color: var(--book-muted); font-weight: 650; margin-bottom: .25rem; }
  .marriage-document-cell:first-child,.marriage-document-cell:nth-child(4) { grid-column: 1/-1; }
}
@media(max-width:600px) {
  .marriage-document-card { padding: .75rem; }
  .marriage-document-actions { flex-direction: column; }
  .marriage-document-actions .marriage-button { width: 100%; }
  .marriage-document-row { grid-template-columns: minmax(0,1fr); }
  .marriage-document-stage { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
