/* Editable typography only below the hero; no opening-scene styles are touched. */
.invitation-details [data-text-role]{font-family:var(--type-font)!important;font-size:var(--type-size)!important;font-weight:var(--type-weight)!important;font-style:var(--type-style)!important;line-height:var(--type-leading)!important;letter-spacing:var(--type-spacing)!important;text-transform:var(--type-case)!important;color:var(--type-color)!important;overflow-wrap:break-word}
.invitation-details [data-text-role]>:is(em,span,i):not(.wi-arrow):not(.wi-optional){font:inherit!important;letter-spacing:inherit!important;text-transform:inherit!important;color:inherit!important}
.invitation-details .wi-family-invitation{max-width:820px;padding:7px 28px 15px;text-align:center}
.invitation-details .wi-hosts{margin:0}
.invitation-details .wi-hosts>span{display:inline-block;margin-block:5px}
.invitation-details .wi-family-wording{margin:27px 0 21px}
.invitation-details .wi-family-names{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.26em;margin:0;white-space:normal}
.invitation-details .wi-invitation{padding-top:65px}
.invitation-details .wi-facts{margin-top:52px}
#section-typography-controls>.ds-note{margin-bottom:16px}
#section-typography-controls .type-category{margin:8px 0;border:1px solid #d8dfdf;border-radius:6px;padding:0 11px;background:#ffffff70}
#section-typography-controls .type-category>summary{font:500 13px/1.5 system-ui,sans-serif;padding:13px 0;cursor:pointer}
#section-typography-controls .type-category .ds-control{margin-block:10px}
#section-typography-controls .type-reset{margin:10px 0 16px;padding:8px 12px;border:1px solid #cdd8e2;border-radius:5px;background:white;font:12px system-ui,sans-serif;cursor:pointer}
#section-typography-status{font:12px/1.5 system-ui,sans-serif;color:#52677b;margin:10px 0}
@media(max-width:760px){.invitation-details [data-text-role]{font-size:var(--type-mobile-size)!important}.invitation-details .wi-invitation{padding-top:48px}.invitation-details .wi-family-wording{margin:23px 0 19px}.invitation-details .wi-family-invitation{padding-inline:24px}.invitation-details .wi-family-names{gap:.2em}.invitation-details .wi-facts{margin-top:42px}}

.invitation-details .wi-invited-guest{display:inline-block;margin-block:14px;max-width:100%}

.invitation-details .wi-family-wording[data-text-role] > .wi-invited-guest[data-invitation-guest]{font-family:var(--guest-font)!important;font-weight:var(--guest-weight)!important;font-size:var(--guest-size)!important;font-style:normal!important;color:var(--guest-color)!important;line-height:1.35!important;letter-spacing:0!important;text-transform:none!important}
@media(max-width:760px){.invitation-details .wi-family-wording[data-text-role] > .wi-invited-guest[data-invitation-guest]{font-size:var(--guest-mobile-size)!important}}

.invitation-details .wi-hosts{display:flex;flex-direction:column;align-items:center;gap:5px}
.invitation-details .wi-hosts > span{margin:0}
.invitation-details .wi-hosts .wi-parent-pair{display:inline-flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:0 .3em}
.invitation-details .wi-hosts[data-parent-layout=inline]{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:.3em .45em}
.invitation-details .wi-hosts[data-parent-layout=individual] .wi-parent-pair{flex-direction:column;align-items:center}
.invitation-details .wi-family-invitation:has([data-parent-layout=inline]){max-width:1100px}

/* Refined invitation hierarchy: lighter hosts, compact rhythm, unchanged gold names. */
.invitation-details .wi-hosts[data-text-role]{font-size:var(--type-size)!important;font-weight:400!important;line-height:1.5!important;gap:0}
.invitation-details .wi-family-wording{margin:21px 0 17px}
.invitation-details .wi-invited-guest{margin-block:10px}
@media(max-width:760px){.invitation-details .wi-hosts[data-text-role]{font-size:var(--type-mobile-size)!important}.invitation-details .wi-family-wording{margin:19px 0 16px}}

/* One spacing system for the formal invitation, independent of font baselines. */
.invitation-details .wi-family-invitation{display:flex;flex-direction:column;align-items:center;gap:26px}
.invitation-details .wi-family-invitation .wi-hosts{margin:0;gap:8px;line-height:1.4!important}
.invitation-details .wi-family-invitation .wi-family-wording{display:flex;flex-direction:column;align-items:center;gap:26px;margin:0;width:100%}
.invitation-details .wi-family-invitation .wi-family-wording>span{display:block;margin:0;max-width:100%}
.invitation-details .wi-family-invitation .wi-family-names{margin:0}
@media(max-width:760px){.invitation-details .wi-family-invitation,.invitation-details .wi-family-invitation .wi-family-wording{gap:22px}.invitation-details .wi-family-invitation .wi-hosts{gap:6px}}

.invitation-details .wi-family-invitation [data-text-role] > .wi-connecting-line[class]{font-size:calc(var(--type-size) * var(--connector-scale,.8))!important;font-weight:400!important;line-height:1.5!important}
@media(max-width:760px){.invitation-details .wi-family-invitation [data-text-role] > .wi-connecting-line[class]{font-size:calc(var(--type-mobile-size) * var(--connector-scale,.8))!important}}

/* Symmetric, user-adjustable gaps across the invitation's three name groups. */
.invitation-details .wi-family-invitation{gap:var(--inv-name-gap,18px)}
.invitation-details .wi-family-invitation .wi-hosts{row-gap:var(--inv-name-gap,18px)}
.invitation-details .wi-family-invitation .wi-family-wording{gap:var(--inv-guest-gap,24px)}

/* Button lettering is independent; each button keeps its own fill and text colour. */
.invitation-details [data-button-typography]{font-family:var(--type-font)!important;font-size:var(--type-size)!important;font-weight:var(--type-weight)!important;font-style:var(--type-style)!important;line-height:var(--type-leading)!important;letter-spacing:var(--type-spacing)!important;text-transform:var(--type-case)!important}
@media(max-width:760px){.invitation-details [data-button-typography]{font-size:var(--type-mobile-size)!important}}

/* Keep titles and surname together; allow the family suffix onto its own line. */
.invitation-details .wi-family-wording[data-text-role] > .wi-invited-guest[data-invitation-guest]{
  display:block;width:100%;min-width:0;font-size:var(--guest-fit-size,var(--guest-size))!important;
}
.wi-invited-guest .wi-guest-name{display:inline-block;max-width:none;white-space:nowrap}
.wi-invited-guest .wi-guest-family{display:inline-block;white-space:nowrap}
