/* Church invitation sharing: native app chooser, link and image fallbacks. */
.share-icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.header-share,.footer-share{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:var(--green);border:1px solid #cbd3c9;border-radius:5px;font-size:13px;font-weight:600;min-height:44px;padding:8px 13px;white-space:nowrap}
.header-share{order:3}.header-inner{gap:20px}.site-header nav{gap:20px;margin-left:auto}.footer-share{align-self:start;margin-top:8px}.header-share:hover,.footer-share:hover{background:#e7ecdf}
.mobile-share{display:none}
.share-dialog{border:1px solid #d7dfd1;background:var(--paper);color:var(--ink);border-radius:20px;width:min(520px,calc(100% - 36px));max-height:calc(100dvh - 48px);padding:0;box-shadow:0 24px 90px #10251f40;overflow:auto;overscroll-behavior:contain;margin:auto;font-family:var(--sans)}
.share-dialog::backdrop{background:#10251fc4;backdrop-filter:blur(4px)}.share-dialog:not([open]){display:none}
.share-dialog.fallback-open{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:1001}
.share-backdrop{position:fixed;inset:0;background:#10251fc4;z-index:1000}
.share-content{padding:29px 30px 24px}.share-top{display:flex;align-items:start;justify-content:space-between;gap:15px}.share-top .eyebrow{font-size:10px;margin:0 0 8px}.share-top h2{font-size:25px;line-height:1.5;letter-spacing:-.05em}.share-close{background:#e9ece2;border:0;width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:25px;line-height:1}.share-close:hover{background:#dce3d5}
.share-intro{font-size:13px;margin:10px 0 18px;line-height:1.8}.share-preview{display:flex;align-items:center;gap:15px;background:#efeee5;border:1px solid #e1e1d5;padding:13px;border-radius:9px}.share-preview>img{width:77px;height:68px;object-fit:cover;border-radius:5px}.share-preview strong{font-size:14px;line-height:1.6;display:block}.share-preview p{font-size:11px;line-height:1.7;margin:4px 0 0}.share-preview span{display:block}
.share-native{width:100%;margin-top:19px;min-height:49px;gap:12px}.share-native .share-icon{width:19px;height:19px}.share-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}
.share-choice{border:1px solid #dfe3d8;background:#fffefb;border-radius:10px;padding:13px 5px 10px;min-height:104px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:start;gap:6px;color:var(--ink);font-size:13px;font-weight:600;line-height:1.5;transition:background .15s,border-color .15s}.share-choice:hover{border-color:#8aa38e;background:#edf2e7;color:var(--green)}.share-choice small{font-size:9px;color:#65705f;font-weight:400;letter-spacing:-.015em}.share-app-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}.share-app-icon svg{width:23px;height:23px}.share-kakao{background:#fee500;color:#38251e}.share-sms{background:#e2ecdc;color:#426934}.share-email{background:#e4eaf3;color:#385b84}.share-link{background:#ede9dd;color:#776248}.share-facebook{background:#1877f2;color:#fff;font:700 29px Arial}.share-instagram{background:linear-gradient(35deg,#f8b248,#d53b6e,#8548ba);color:#fff}
.share-address{display:flex;border:1px solid #d5ddcf;border-radius:6px;overflow:hidden;margin-top:18px;background:white}.share-address input{min-width:0;flex:1;border:0;padding:11px 12px;background:transparent;color:#52654e;font-size:12px;font-family:var(--sans)}.share-address button{padding:10px 16px;border:0;border-left:1px solid #d5ddcf;background:#edf0e6;color:var(--green);font-size:12px;flex:none;min-width:60px}
.share-feedback{font-size:12px;color:#395d3e;background:#eaf0e0;border-radius:6px;padding:10px 12px;margin-top:14px!important;line-height:1.8;overflow-wrap:anywhere}.share-footnote{font-size:10px;text-align:center;margin:13px 0 0;color:#70786c}.share-manual{margin-top:14px}.share-manual label{display:block;font-size:12px;margin-bottom:7px}.share-manual textarea{width:100%;font-family:var(--sans);font-size:12px;padding:12px;line-height:1.8;color:var(--ink);border:1px solid #a9b8a2;border-radius:6px;resize:vertical;background:#fff}.share-instagram-panel{margin-top:18px;padding-top:17px;border-top:1px solid #d5ddcf}.share-instagram-panel h3{font-size:17px}.share-instagram-panel>p{font-size:12px;margin:8px 0 13px;line-height:1.8}.share-image-row{display:flex;gap:15px;align-items:center}.share-image-row img{width:86px;height:108px;object-fit:cover;border-radius:5px;border:1px solid #d8dece}.share-image-actions{flex:1;display:flex;flex-direction:column;gap:8px}.share-image-actions .button{font-size:12px;min-height:44px;padding:8px 13px;gap:10px}.share-image-actions button:disabled{opacity:.55;cursor:wait;transform:none}.share-instagram-links{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px}.share-instagram-links button{background:transparent;border:0;padding:8px 0;min-height:44px;color:var(--green);font-size:12px;font-weight:600}.share-instagram-links a{font-size:12px;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.site-header nav{gap:12px}.header-inner{gap:14px}.header-share{font-size:12px;padding-inline:10px}.site-header nav a.nav-visit{padding-inline:12px}}
@media(max-width:980px) and (min-width:851px){.header-share{width:42px;padding-inline:0}.header-share>span{display:none}.header-inner{gap:12px}.site-header nav{font-size:11px;gap:13px}}
@media(max-width:850px){.menu-toggle{order:4}.header-share{margin-left:auto}.site-header nav{margin-left:0;gap:0}.header-inner{gap:10px}}
@media(max-width:600px){.header-share{display:none}.mobile-visit-bar{grid-template-columns:.72fr 1.35fr .6fr;gap:7px;padding-inline:10px}.mobile-visit-bar a:nth-child(2){background:var(--green);color:white;border-color:var(--green);gap:8px}.mobile-visit-bar a:last-child{background:transparent;color:var(--green)}.mobile-share{border:1px solid #bdc9b9;background:var(--paper);color:var(--green);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:600;line-height:1.3;min-height:46px;padding:4px}.mobile-share .share-icon{width:17px;height:17px}.mobile-visit-bar a{font-size:11px}.share-dialog{width:100%;max-height:calc(100dvh - 18px);margin:auto 0 0;border-radius:19px 19px 0 0;border-bottom:0;max-width:none}.share-content{padding:25px 20px calc(20px + env(safe-area-inset-bottom))}.share-top h2{font-size:23px}.share-close{width:36px;height:36px}.share-intro{font-size:12px;margin:9px 0 15px}.share-grid{gap:8px;margin-top:14px}.share-choice{min-height:99px;padding-top:12px;font-size:12px}.share-choice small{font-size:9px}.share-native{margin-top:15px;font-size:13px;min-height:47px}.share-preview>img{height:58px;width:69px}.share-preview p{font-size:10px}.share-address{margin-top:15px}.share-footnote{font-size:9px}.share-dialog.fallback-open{inset:auto 0 0;transform:none}}
@media(max-width:360px){.share-content{padding-inline:16px}.share-choice small{font-size:8px}.mobile-visit-bar a{font-size:10px}.mobile-visit-bar a:nth-child(2){gap:6px}.share-address input{font-size:11px;padding-inline:9px}.share-address button{padding-inline:12px}}
@media print{.header-share,.footer-share,.share-dialog,.share-backdrop{display:none!important}}

.share-top{position:sticky;top:0;background:var(--paper);z-index:2;padding-bottom:10px;margin-bottom:-10px;box-shadow:0 -30px 0 var(--paper)}
/* Explicit positioning prevents browser defaults from moving a bottom sheet offscreen. */
.share-dialog{position:fixed;inset:0}
@media(max-width:600px){.share-dialog{inset:auto 0 0;margin:0}}
