/* Full-width artwork, separate sections, and content clear of decorative edges. */
body[data-theme] #invitation main>.section{box-sizing:border-box;width:100%;max-width:100%;margin:20px 0}
body[data-theme] #invitation main>.section:not(.nm-section):not(.ri-section):not(.mg-section):not(.mh-section):not(.pp-section):not(.ds-section){padding-inline:clamp(28px,8cqw,36px)}
/* Complete border-image frames already supply their own ornamental bottom cap. */
body[data-theme] #invitation main>.section:not(.nm-section):not(.ri-section):not(.mg-section){border-bottom:1px solid var(--gold,#AC8545)}
body[data-theme] #invitation main>.section>:is(.nm-frame-copy,.ri-frame-copy,.mg-copy){padding-inline:16px}
body[data-theme] #invitation main>.section>:is(.pp-frame-copy,.ds-frame-copy){padding-inline:16px}
body[data-theme] #invitation main>.section>.mh-frame-copy{padding:10px clamp(36px,11cqw,48px) 8px}
body[data-theme] #invitation main>.section>.haveli-card{padding-inline:12px}
body[data-theme] #invitation main>.section :is(.guest-actions,.message,.form-box,.voice-composer,.photo-selection-grid){min-width:0;max-width:100%}
body[data-theme] #invitation main>.section :is(input,textarea,select){box-sizing:border-box;max-width:100%;min-width:0}
body[data-theme] #invitation main>.section .guest-actions>.button{box-sizing:border-box;max-width:100%}
body[data-theme] #invitation>footer{margin-inline:0;width:100%;box-sizing:border-box}
