/* Selected Invitation Insert styles, scoped to production role stationery. */
.invitation-insert{--ivory:#f4efe4;--paper:#f9f3ee;--claret:#6b3037;--pink:#d7b1b7;--black:#282823;--foil:#806334;--accent:var(--claret);font-family:Georgia,'Times New Roman',serif;color:var(--black);font-synthesis:none}
.invitation-insert *{box-sizing:border-box}
.invitation-insert.golden{--accent:var(--foil)}
.invitation-insert .insert-paper{position:relative;isolation:isolate}
.invitation-insert .insert-paper:before{content:'';position:absolute;inset:0;background:url('assets/grain.webp') repeat;opacity:.065;pointer-events:none;z-index:-1}
.invitation-insert .insert-title,.invitation-insert .assignment-heading,.invitation-insert p{margin:0}
.invitation-insert .insert-title{font-weight:normal;letter-spacing:-.045em;text-wrap:balance;color:var(--claret)}
.invitation-insert .insert-title span{display:block}
.invitation-insert .assignment-heading,.invitation-insert dt,.invitation-insert .micro,.invitation-insert .designation,.invitation-insert .subtitle,.invitation-insert .ticket-line,.invitation-insert .insert-paper-foot,.invitation-insert .registration,.invitation-insert .margin-note,.invitation-insert .seal span,.invitation-insert .edition,.invitation-insert .edition-rule,.invitation-insert .broadside-foot>span{font-size:11px;line-height:1.6;letter-spacing:.13em;font-weight:normal}
.invitation-insert .micro,.invitation-insert .designation,.invitation-insert dt,.invitation-insert .assignment-heading{text-transform:uppercase}
.invitation-insert .motif{display:block;width:92px;height:12px;fill:var(--accent);stroke:var(--accent)}
.invitation-insert .description{font-size:17px;line-height:1.7}
.invitation-insert .description p+p{margin-top:18px}
.invitation-insert .assignment p{white-space:pre-line}
.invitation-insert .details{margin:0}
.invitation-insert .details dt{color:var(--accent);margin-bottom:6px}
.invitation-insert .details dd{margin:0;font-size:16px;line-height:1.6}
.invitation-insert .designation{color:var(--accent)}
.invitation-insert .subtitle{color:var(--claret);margin:22px 0 0}
.invitation-insert .insert-paper-foot{display:flex;justify-content:space-between;gap:16px;color:var(--accent);font-size:10px}
.invitation-insert.golden .designation{font-weight:bold}
.invitation-insert.golden .motif{filter:drop-shadow(0 1px 0 #fff9)}
.invitation-insert{background:#6b3037;padding:20px}
.invitation-insert .insert-paper{background:var(--paper);padding:54px 30px 30px;text-align:center;border:1px solid var(--accent);outline:1px solid #f9f3ee80;outline-offset:5px}
.invitation-insert .insert-paper:after{content:'';position:absolute;inset:9px;border:1px solid #6b30372c;pointer-events:none}
.invitation-insert.golden .insert-paper:after{border-color:#80633466}
.invitation-insert .letterhead .micro{color:var(--accent);font-size:10px}
.invitation-insert .couple{font-size:31px;letter-spacing:-.04em;color:var(--claret);margin:12px 0 23px}
.invitation-insert .couple i{font-size:.85em;font-weight:normal}
.invitation-insert .motif{margin:0 auto 38px}
.invitation-insert .designation{font-size:10px;letter-spacing:.13em}
.invitation-insert .insert-title{font-size:clamp(39px,11vw,64px);line-height:1.05;margin:22px -8px 30px}
.invitation-insert .insert-title span:last-child{font-style:italic}
.invitation-insert .description{max-width:480px;margin:auto;text-wrap:pretty}
.invitation-insert .assignment{border-block:1px solid #6b303738;margin:30px auto;padding:24px 0;max-width:480px}
.invitation-insert .assignment-heading{color:var(--accent);margin-bottom:12px}
.invitation-insert .assignment p{font-size:22px;line-height:1.45;font-style:italic}
.invitation-insert .details{display:grid;gap:24px;max-width:500px;margin:auto}
.invitation-insert .ticket-line{margin:38px 0 24px;color:var(--accent);font-size:10px}
.invitation-insert .ticket-line span{display:block;font-size:14px;margin-top:6px;letter-spacing:.2em}
.invitation-insert .insert-paper-foot{justify-content:center;flex-wrap:wrap;padding-top:18px;border-top:1px solid #6b30372c;font-size:9px}
.invitation-insert .subtitle{margin:-12px 0 25px}
.invitation-insert.guest .assignment p{font-style:normal;font-size:28px;line-height:1.45}
@media(min-width:650px){.invitation-insert{padding:50px}
.invitation-insert .insert-paper{max-width:760px;margin:auto;padding:64px 75px 35px}
.invitation-insert .insert-title{font-size:78px}
.invitation-insert .couple{font-size:42px}
.invitation-insert .description{font-size:18px}
.invitation-insert .details{grid-template-columns:1fr 1fr;gap:26px}
.invitation-insert .details>div:last-child{grid-column:1/-1}
.invitation-insert .assignment{margin-block:36px}
.invitation-insert .insert-paper-foot{justify-content:space-between}}
@media(max-width:360px){.invitation-insert{padding:14px}
.invitation-insert .insert-paper{padding-inline:23px}
.invitation-insert .insert-title{font-size:36px}}

/* Integration only: the existing timeline and RSVP controls keep their behavior. */
.invitation-insert{width:100%;container-type:inline-size;text-align:center;line-height:normal}
.invitation-insert:focus{outline:none}
.invitation-insert .insert-title{max-width:none;overflow-wrap:break-word}
.invitation-insert .insert-paper{opacity:1}
.invitation-insert .role-note{font-size:14px;line-height:1.6;font-style:italic;margin:25px auto 0;max-width:480px}
.invitation-insert .insert-continue{display:block;width:100%;max-width:480px;min-height:50px;margin:28px auto 0;padding:14px 18px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:12px;letter-spacing:.1em}
.invitation-insert .insert-continue:hover{background:#6b30370b}
.invitation-insert .insert-continue:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
#ticket-scene:has(.invitation-insert:not([hidden])){padding:0 0 80px;align-items:stretch;background:var(--claret)}
#ticket-scene .invitation-insert{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad8679 var(--claret)}
.reading .invitation-insert{margin:50px calc(-1 * max(24px,(100vw - 620px)/2));width:calc(100% + 2 * max(24px,(100vw - 620px)/2))}
@media(prefers-reduced-motion:no-preference){
.invitation-insert:not([hidden]) .insert-paper{animation:insert-settle .55s ease-out both}
.invitation-insert.guest .subtitle{animation:insert-rise .3s .2s both}
.invitation-insert.golden .designation{animation:insert-foil .8s .15s both}
@keyframes insert-settle{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes insert-rise{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes insert-foil{0%,100%{color:var(--foil)}50%{color:#ac8c56;text-shadow:0 1px #fff}}
}

