/* Zweck: Grundlayout und gemeinsame Heiratsplaner-Elemente | Schicht: Content | Seiten: /heiraten/ */
.marriage-guide {
  padding: 0;
  max-width: 100%;
  color: var(--book-ink);
  font-size: .98rem;
  line-height: 1.7;
}
.marriage-guide [hidden] { display: none!important; }
.marriage-guide h1 { margin: 0 0 .6rem; overflow-wrap: normal; }
.marriage-guide h2 { font-size: 1.32rem; line-height: 1.35; }
.marriage-guide :is(h3,h4,h5,h6,small,button,input,select,textarea,summary,.marriage-help,.marriage-byline) { font-size: inherit; }
.marriage-guide .marriage-rail :is(.calendar-event-rail,.guest-paypal-support) :where(*) { font-size: inherit; }
.marriage-guide .marriage-rail :is(.calendar-event-rail,.guest-paypal-support) h2 { font-size: 1.32rem; }
.marriage-guide :is(button,a,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--amg-orange-copy);
  outline-offset: 4px;
}
.marriage-guide section,.marriage-planner [data-marriage-panel],.marriage-guide [data-marriage-result] { scroll-margin-top: 82px; }
.marriage-planner :is(h2,legend) { scroll-margin-top: 82px; }
.marriage-guide .marriage-eyebrow { margin: 0 0 .5rem; font-weight: 750; color: var(--book-muted); }
.marriage-guide .marriage-section-label { margin: 0 0 .65rem; font-weight: 750; text-transform: uppercase; letter-spacing: .035em; }
.marriage-guide details { margin: 1rem 0; border: 1px solid var(--book-line); border-radius: 8px; padding: 1rem; }
.marriage-guide summary { cursor: pointer; font-weight: 750; line-height: 1.5; }
.marriage-guide summary::marker { color: var(--amg-teal); }
.marriage-guide details[open]>summary { margin-bottom: 1rem; }
.marriage-lead { max-width: 65ch; line-height: inherit; }
.marriage-help { line-height: 1.7; color: var(--book-muted); }
.marriage-button {
  font: inherit;
  font-weight: 700;
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  display: inline-block;
  background: var(--amg-teal);
  color: var(--marriage-button-ink)!important;
  border: 2px solid var(--amg-teal);
  border-radius: 8px;
  padding: .6rem .9rem;
  text-decoration: none!important;
  cursor: pointer;
  line-height: 1.45;
  min-height: 44px;
}
.marriage-button--quiet { background: transparent; color: var(--book-ink)!important; }
.marriage-button:disabled { opacity: .5; cursor: default; }
.marriage-rail-link { border: 0; padding: .25rem 0; min-height: 44px; background: transparent; color: var(--book-ink); font: inherit; font-weight: 650; text-align: left; text-decoration: underline; cursor: pointer; overflow-wrap: anywhere; }
.marriage-controls { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.marriage-planner {
  border: 1px solid var(--book-line);
  border-top: 3px solid var(--amg-teal);
  border-radius: 14px;
  padding: 1.25rem;
  margin: 1rem 0;
  background: var(--amg-paper);
  min-width: 0;
}
.marriage-planner [data-marriage-welcome]>:first-child { margin-top: 0; }
.marriage-planner .marriage-welcome { display: flow-root; }
.marriage-welcome-image { float: right; width: calc((100% - 2rem) / 3); height: auto; margin: 0 0 1rem 1rem; border-radius: 8px; }
.marriage-planner .marriage-welcome>.marriage-lead { max-width: none; margin-top: 0; }
.marriage-guide [data-marriage-result] { padding-top: .5rem; margin-top: 0; border-top: 0; }
.marriage-error { color: var(--amg-orange-copy); font-weight: 650; }
.marriage-note { border-left: 4px solid var(--amg-orange-copy); padding: 1rem; background: var(--amg-mint-soft); color: var(--book-ink); line-height: 1.65; }
.marriage-guide .marriage-byline { grid-column: 1/-1; color: var(--book-muted); }
.marriage-progress { font-weight: 700; line-height: 1.6; }
.marriage-profile dt { font-weight: 700; margin-top: .7rem; }
.marriage-profile dd { margin-left: 0; }
.marriage-table-wrap { max-width: 100%; overflow-x: auto; }
.marriage-table-wrap table { border-collapse: collapse; width: 100%; font-size: inherit; }
.marriage-table-wrap :is(th,td) { text-align: left; vertical-align: top; padding: .75rem; border-bottom: 1px solid var(--book-line); }
.marriage-workbook { padding: 1.25rem 0; }
.marriage-sources { overflow-wrap: anywhere; }
.marriage-main :is(.marriage-task-text,.marriage-lead,.marriage-reference>p) { max-width: none; }
.site-shell--next .site-main>article.content:has(.marriage-guide) {
  grid-column: 1/-1;
  width: min(var(--site-next-content-width,1560px),calc(100% - 2 * var(--site-next-gutter,24px)));
  box-sizing: border-box;
  margin: 1rem auto 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.marriage-layout {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: calc(var(--site-shell-gap,4px) + var(--site-next-extra-column-gap,0px));
  align-items: start;
  overflow-anchor: none;
}
.marriage-main { grid-column: 1/4; min-width: 0; }
.marriage-rail { grid-column: 4; display: grid; gap: 1rem; min-width: 0; align-content: start; }
.marriage-visitor { padding: 1rem; border: 1px solid var(--book-line); border-radius: 10px; background: var(--amg-paper); overflow-wrap: anywhere; }
.marriage-visitor>:first-child { margin-top: 0; }
.marriage-visitor .marriage-storage-actions { flex-direction: column; }
@media(max-width:1200px) {
  .marriage-layout { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .marriage-main,.marriage-rail { grid-column: 1/-1; }
  .marriage-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:860px) {
  .marriage-guide section,.marriage-planner [data-marriage-panel],.marriage-guide [data-marriage-result] { scroll-margin-top: 74px; }
  .marriage-planner :is(h2,legend) { scroll-margin-top: 74px; }
}
@media(max-width:760px) {
  .marriage-layout,.marriage-rail { grid-template-columns: minmax(0,1fr); }
  .marriage-planner :is(h2,legend) { scroll-margin-top: calc(74px + 44px); }
}
@media(max-width:600px) {
  .marriage-welcome-image { float: none; display: block; width: min(100%,360px); margin: 0 auto 1rem; }
  .marriage-planner { padding: 1rem; }
  .marriage-controls { flex-wrap: wrap; }
}
@media print {
  .marriage-layout { display: block; }
  .marriage-rail,.marriage-planner button,.marriage-guide nav { display: none; }
  .marriage-guide details { break-inside: avoid; }
}
