.invitation-page { margin:0; padding:0 24px 60px; background:#eee3d3; color:#482916; font-family:Arial,sans-serif; }
.invitation-nav { max-width:1080px; margin:auto; display:flex; justify-content:space-between; gap:20px; padding:24px 0; font-size:14px; }
.invitation-nav a { color:#482916; text-decoration:none; }
.invitation-card { position:relative; isolation:isolate; overflow:hidden; width:100%; max-width:1080px; min-height:1350px; margin:auto; padding:40px 56px 32px; background:#fbf5eb; text-align:center; border-radius:28px; box-shadow:0 18px 60px #4c33241a; }
.invitation-card::before { content:""; position:absolute; z-index:-2; inset:-30px; background:url('assets/actual-2026/noche-agradecimiento-2024-exterior.jpeg') center/cover; filter:blur(8px) sepia(.55); opacity:.13; }
.invitation-card::after { content:""; position:absolute; z-index:-1; inset:28px; border:1px solid #ba936a; border-radius:18px; pointer-events:none; }
.invitation-card a { color:inherit; text-decoration:none; }
.invitation-card :is(a,button):focus-visible { outline:3px solid #9b6742; outline-offset:5px; border-radius:5px; }
.invitation-emblems { display:flex; align-items:center; justify-content:center; }
.invitation-church-logo { width:160px; display:block; }
.invitation-church-logo img { width:100%; height:auto; filter:brightness(0) sepia(1); opacity:.92; }
.invitation-church-name { margin:12px 0 14px; font-family:'Cormorant Garamond',Georgia,serif; font-size:29px; font-weight:600; line-height:1.2; }
.invitation-title-art { position:relative; isolation:isolate; }
.invitation-vase { position:absolute; z-index:-1; left:50%; top:50%; transform:translate(-50%,-50%); width:440px; height:440px; object-fit:contain; opacity:.11; pointer-events:none; }
.invitation-card h1 { margin:0; position:relative; line-height:0; }
.invitation-title-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.invitation-title-vector { display:block; width:100%; max-width:968px; height:auto; margin:auto; }
.invitation-rule { width:155px; height:1px; margin:16px auto; background:#b9966d; }
.invitation-call { margin:0; font-family:'Cormorant Garamond',Georgia,serif; font-size:42px; line-height:1.25; }
.invitation-call strong { font-weight:600; font-size:47px; }
.invitation-card mark { color:inherit; padding:1px 10px 4px; border:1px solid #c7a47e; border-radius:8px; background:linear-gradient(110deg,#fff8ecbc,#efdbbc9c); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.invitation-scripture { max-width:790px; margin:20px auto 0; padding:0; border:0; font-family:'Cormorant Garamond',Georgia,serif; }
.invitation-scripture p { margin:0; font-size:27px; line-height:1.22; font-weight:500; }
.invitation-scripture cite { display:block; margin-top:9px; font-family:Arial,sans-serif; font-size:16px; font-style:normal; font-weight:600; letter-spacing:.045em; }
.invitation-scripture a { text-underline-offset:4px; }
.invitation-scripture a:hover { text-decoration:underline; }
.invitation-date { width:fit-content; max-width:100%; margin:24px auto 0; padding:14px 32px; border:1px solid #b3895d; border-radius:16px; background:linear-gradient(125deg,#fff8ecd9,#eed4afc9); box-shadow:0 5px 18px #70402013; font-family:'Cormorant Garamond',Georgia,serif; font-size:36px; font-weight:700; line-height:1.2; }
.invitation-date span { display:table; margin:8px auto 0; padding:5px 18px 6px; border-radius:8px; background:#704023; color:#fff7e7; font-family:Arial,sans-serif; font-size:25px; font-weight:500; line-height:1.2; }
.invitation-dinner { margin:15px 0 0; font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; line-height:1.35; }
.invitation-dinner mark { padding:1px 6px 3px; border-color:#ccb08e; background:#fff6e78c; border-radius:5px; }
.invitation-address { display:inline-flex; align-items:center; justify-content:center; gap:12px; margin-top:18px; font-family:'Cormorant Garamond',Georgia,serif; font-size:25px; font-weight:500; line-height:1.15; }
.invitation-address img { flex:none; width:22px; height:28px; }
.invitation-address small { display:block; font-family:Arial,sans-serif; font-size:17px; text-decoration:underline; text-underline-offset:4px; margin-top:8px; }
.invitation-contacts { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 26px; margin:20px auto 0; max-width:760px; }
.invitation-contacts a { display:inline-flex; align-items:center; gap:9px; font-size:21px; line-height:1.4; }
.invitation-contacts :is(img,svg) { width:26px; height:26px; flex:none; }
.invitation-contacts .invitation-email { flex-basis:100%; justify-content:center; font-size:20px; }
.invitation-socials { display:flex; flex-wrap:wrap; justify-content:center; gap:32px; margin:18px 0 0; }
.invitation-socials a { display:flex; align-items:center; gap:9px; font-size:19px; }
.invitation-socials img { object-fit:contain; }
.invitation-website { display:inline-block; margin-top:18px; font-size:22px; text-decoration:underline!important; text-underline-offset:5px; }
.invitation-share-panel { max-width:600px; margin:32px auto 0; padding:28px; border:1px solid #d7bc97; border-radius:22px; background:#fbf5eb; --ink:#482916; --ink-soft:#775d4b; --surface-2:#f5ebde; --line:#d7bc97; }
.invitation-share-panel h2 { font-size:26px; margin:0 0 8px; }
.invitation-share-panel > p { margin:0 0 18px; color:#775d4b; font-size:16px; line-height:1.5; }
.invitation-share-panel .event-share-message { background:#f5ebde; border-color:#d7bc97; }
.invitation-share-panel .event-share-status { margin-top:12px; }
.invitation-export .invitation-page { padding:0; background:#fbf5eb; }
.invitation-export { overflow:hidden; }
.invitation-export .invitation-nav,.invitation-export .invitation-share-panel { display:none; }
.invitation-export .invitation-card { border-radius:0; box-shadow:none; height:1350px; min-height:1350px; }
@media (max-width:700px) {
 .invitation-page { padding:0 12px 28px; }
 .invitation-nav { padding:18px 4px; font-size:12px; }
 .invitation-card { min-height:0; padding:28px 22px 30px; border-radius:20px; }
 .invitation-card::after { inset:12px; border-radius:13px; }
 .invitation-church-logo { width:110px; }
 .invitation-church-name { font-size:18px; margin:12px 0 20px; }
 .invitation-title-vector { width:calc(100% + 80px); max-width:none; margin-inline:-40px; }
 .invitation-vase { width:230px; height:230px; }
 .invitation-rule { margin:18px auto; width:100px; }
 .invitation-call { font-size:28px; }
 .invitation-call strong { font-size:33px; }
 .invitation-card mark { padding-inline:6px; }
 .invitation-scripture { margin-top:18px; }
 .invitation-scripture p { font-size:21px; }
 .invitation-scripture cite { font-size:12px; margin-top:9px; }
 .invitation-date { margin-top:22px; padding:14px 15px; font-size:26px; }
 .invitation-date span { font-size:20px; margin-top:8px; padding:6px 14px; }
 .invitation-dinner { font-size:20px; max-width:280px; margin:16px auto 0; }
 .invitation-address { font-size:18px; gap:8px; margin-top:22px; }
 .invitation-address small { font-size:14px; }
 .invitation-contacts { gap:14px 18px; margin-top:22px; }
 .invitation-contacts a { font-size:15px; }
 .invitation-contacts .invitation-email { font-size:12px; overflow-wrap:anywhere; }
 .invitation-contacts :is(img,svg) { width:22px; height:22px; }
 .invitation-socials { gap:18px; margin-top:22px; }
 .invitation-socials a { flex-direction:column; gap:6px; font-size:12px; }
 .invitation-socials img { height:24px; }
 .invitation-website { font-size:15px; margin-top:24px; }
 .invitation-share-panel { padding:22px; margin-top:22px; }
}

.invitation-backdrop-export .invitation-card * { visibility:hidden; }
.invitation-backdrop-export :is(.invitation-church-logo img,.invitation-vase) { visibility:visible; }
