/* Zweck: Personenmasken, Auswahlfelder und Zusammenfassung | Schicht: Content | Seiten: /heiraten/ */
.marriage-planner fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.marriage-planner legend { font: inherit; font-weight: 700; line-height: 1.3; max-width: 100%; margin: 0 0 .6rem; }
.marriage-guide input { accent-color: var(--amg-teal); min-width: 18px; min-height: 18px; }
.marriage-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 1.2rem 0; }
.marriage-option { display: flex; align-items: center; gap: .7rem; padding: 1rem; border: 1px solid var(--book-line); border-radius: 8px; cursor: pointer; line-height: 1.5; min-width: 0; }
.marriage-option:has(input:checked) { background: var(--amg-mint-soft); border-color: var(--amg-teal); box-shadow: inset 0 0 0 1px var(--amg-teal); color: var(--book-ink); }
.marriage-option input { flex: 0 0 auto; }
.marriage-option>span { min-width: 0; overflow-wrap: anywhere; }
.marriage-route-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1.5rem 0; }
.marriage-route { border: 1px solid var(--book-line); border-radius: 10px; padding: 1.2rem; display: flex; flex-direction: column; align-items: start; min-width: 0; }
.marriage-route h3 { margin: .2rem 0; }
.marriage-route .marriage-button { margin-top: auto; }
.marriage-route--clarify { border-top: 4px solid var(--amg-orange-copy); }
.marriage-route--excluded { border-top: 4px solid var(--book-muted); }
.marriage-route--conditional { border-top: 4px solid var(--amg-teal); }
.marriage-route[aria-current="true"] { box-shadow: inset 0 0 0 2px var(--amg-teal); }
.marriage-route-current { margin: 0 0 .5rem; font-weight: 750; }
.marriage-letter-field { min-width: 0; display: grid; gap: .35rem; margin: .8rem 0; font-weight: 600; }
.marriage-letter-field :is(input,textarea,select) {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: .65rem;
  border: 1px solid var(--book-muted);
  border-radius: .3rem;
  background: var(--amg-paper);
  color: var(--book-ink);
  font: inherit;
  font-weight: 400;
}
.marriage-letter-field textarea { resize: vertical; line-height: 1.7; }
.marriage-letter-field .marriage-help { font-weight: 400; }
.marriage-planner .marriage-person-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1rem; }
.marriage-person-fields>:is(p,fieldset,.marriage-field-wide,.marriage-field-row,.marriage-person-address-section) { grid-column: 1/-1; }
.marriage-person-address-section { border: 1px solid var(--book-line); border-radius: 8px; padding: .8rem 1rem; min-width: 0; }
.marriage-person-address-section>summary { cursor: pointer; font-weight: 700; }
.marriage-person-address-section[open]>summary { margin-bottom: 1rem; }
.marriage-person-fields .marriage-letter-field { margin: 0; align-content: start; }
.marriage-field-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1rem; min-width: 0; }
.marriage-planner .marriage-person-address { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem 1rem; margin: .5rem 0; }
.marriage-person-address>:is(p,div,.marriage-address-addition) { grid-column: 1/-1; }
.marriage-address-country { grid-column: 1/span 2; }
.marriage-address-street { grid-column: 1/span 3; }
.marriage-address-city { grid-column: span 3; }
.marriage-residence { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin: 1.2rem 0; padding: 1rem; border: 1px solid var(--book-line); border-radius: 8px; min-width: 0; }
.marriage-residence legend { font-weight: 700; padding: 0 .3rem; }
.marriage-residence>:is(p,details,.marriage-combobox) { grid-column: 1/-1; }
.marriage-residence label { display: grid; gap: .4rem; font-weight: 650; min-width: 0; }
.marriage-residence :is(select,input) { width: 100%; min-width: 0; box-sizing: border-box; padding: .65rem; border: 1px solid var(--book-muted); border-radius: .3rem; background: var(--amg-paper); color: var(--book-ink); font: inherit; font-weight: 400; }
.marriage-combobox { position: relative; min-width: 0; }
.marriage-combobox-list { max-height: 17rem; overflow-y: auto; border: 1px solid var(--book-line); border-radius: 8px; background: var(--amg-paper); color: var(--book-ink); margin: .3rem 0; padding: .3rem; }
.marriage-combobox-option { padding: .65rem; min-height: 44px; box-sizing: border-box; cursor: pointer; line-height: 1.5; overflow-wrap: anywhere; font-weight: 400; }
.marriage-combobox-option.is-active { background: var(--amg-mint-soft); outline: 2px solid var(--amg-teal); outline-offset: -2px; }
.marriage-combobox-group { padding: .5rem .65rem .2rem; font-weight: 750; color: var(--book-muted); }
.marriage-summary-section { margin: 1rem 0 1.5rem; }
.marriage-summary-section>h3 { margin-bottom: .4rem; }
.marriage-guide .marriage-summary-table { font-size: inherit; width: 100%; border-collapse: collapse; table-layout: fixed; }
.marriage-summary-table :is(th,td) { padding: .65rem .5rem; border-bottom: 1px solid var(--book-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.marriage-summary-table th { width: 28%; font-weight: 650; }
.marriage-guide .marriage-summary-table th { background: var(--amg-paper); }
.marriage-summary-table td:last-child { width: 7rem; text-align: right; }
.marriage-question-help { color: var(--book-muted); }
.marriage-question-help>p { white-space: pre-line; }
.marriage-impact { margin: 1rem 0; padding: 1rem; border: 2px solid var(--amg-orange-copy); border-radius: 8px; background: var(--amg-paper); color: var(--book-ink); }
.marriage-impact>:first-child { margin-top: 0; }
.marriage-impact-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.marriage-planner [aria-invalid="true"] { border-color: var(--amg-orange-copy); }
@media(max-width:600px) {
  .marriage-options,.marriage-route-grid,.marriage-field-row,.marriage-residence { grid-template-columns: minmax(0,1fr); }
  .marriage-nationality-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .marriage-nationality-options .marriage-option { padding: .65rem; }
  .marriage-planner :is(.marriage-person-fields,.marriage-person-address) { grid-template-columns: minmax(0,1fr); }
  .marriage-person-address>label { grid-column: 1/-1; }
  .marriage-summary-table th { width: 25%; }
  .marriage-summary-table td:last-child { width: 5.4rem; }
  .marriage-summary-table .marriage-button { padding: .45rem .4rem; }
}
