@import "https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap";
@font-face{font-family:KoPub Batang;src:url(https://cdn.jsdelivr.net/gh/nicediy/kopubwebfonts@master/fonts/KoPubBatang-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}.view-page{-webkit-font-smoothing:antialiased;background:#fff;max-width:360px;min-height:100vh;margin:0 auto;padding-bottom:40px;font-family:Nanum Myeongjo,serif}.funeral-home-header{color:#000;background:#fff;border-bottom:1px solid #f0f0f0;padding:16px 20px;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700}.section-divider{background:#f5f5f5;height:8px}.toast{z-index:99999;white-space:nowrap;border-radius:8px;align-items:center;padding:12px 24px;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700;animation:2s ease-in-out fadeInOut;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);color:#fff!important;background:#000!important}@keyframes fadeInOut{0%{opacity:1;transform:translate(-50%)translateY(-10px)}10%{opacity:1;transform:translate(-50%)translateY(0)}90%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-10px)}}.loading-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Nanum Myeongjo,serif;display:flex}.loading-spinner{border:3px solid #e5e5e5;border-top-color:#9e8566;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:#555;font-size:14px}.error-container{background:#f8f9fa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.error-content{text-align:center;max-width:320px}.error-icon{margin-bottom:24px;font-size:64px}.error-ribbon{width:100px;height:auto;margin-bottom:24px}.error-content h2{color:#1a1a1a;margin-bottom:12px;font-size:20px;font-weight:600}.error-content p{color:#666;margin-bottom:32px;font-size:14px;line-height:1.6}.btn-home{color:#1a1a1a;background:#ffd43b;border-radius:50px;padding:14px 40px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block;box-shadow:0 2px 8px #0000001a}.btn-home:hover{background:#fcc419;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.header-section{width:360px;height:650px;position:relative;overflow:hidden}.header-bg{object-fit:cover;width:100%;height:100%;display:block}.header-text-overlay{text-align:center;padding:0 20px;position:absolute;left:0;right:0}.header-dynamic-text{text-align:center;font-family:KoPub Batang,Nanum Myeongjo,serif;font-size:16px;font-weight:700;line-height:26px}.template-basic .header-text-overlay{top:375px}.template-basic .header-dynamic-text{color:#000}.template-border .header-text-overlay{top:339px}.template-border .header-dynamic-text{color:#1c1c1c}.template-ribbon .header-text-overlay{top:377px}.template-ribbon .header-dynamic-text{color:#3b4551}.template-flower .header-text-overlay{top:187px}.template-flower .header-dynamic-text{color:#fff}.section{padding:24px 16px}.section:last-of-type{border-bottom:none}.section-title{color:#111;margin-bottom:16px;font-family:Nanum Myeongjo,serif;font-size:18px;font-weight:800}.mourners-section .section-title{border-bottom:1px solid #ccc;padding-bottom:12px}.address-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.address-info{flex-direction:column;flex:1;gap:4px;display:flex}.address-text{color:#555;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:700;line-height:1.5}.address-funeral-home{color:#888;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:400}.btn-copy-address{color:#555;cursor:pointer;background:#f5f5f5;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:112px;height:48px;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700;display:flex}.btn-copy-address:active{background:#ebebeb}.map-container{background:#f0f0f0;width:calc(100% + 32px);height:209px;margin:0 -16px 16px}.map-container iframe{border:none;width:100%;height:100%}.navi-buttons{gap:8px;margin-bottom:46px;display:flex}.navi-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #eee;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;height:44px;font-family:Nanum Myeongjo,serif;font-size:13px;font-weight:700;display:flex}.navi-btn:active{background:#fafafa}.navi-icon{width:32px;height:32px}.funeral-box{background:#f7f7f7;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;margin:0 auto;padding:16px 0;display:flex}.funeral-box-inline{flex-direction:row;gap:0;padding:16px 20px}.funeral-box-top{width:calc(100% - 40px);margin:20px auto}.funeral-name{color:#111;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:600}.funeral-divider{color:#ddd;margin:0 12px;font-weight:300}.funeral-room{color:#2c3e50;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700}.call-funeral-btn{cursor:pointer;background:#fff;border:1px solid #eee;border-radius:8px;align-items:center;gap:12px;width:100%;margin-top:16px;padding:16px;text-decoration:none;display:flex}.call-btn-text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.call-btn-title{color:#333;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:700}.call-btn-number{color:#666;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:400}.phone-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.phone-modal{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:360px;padding:20px;animation:.3s ease-out slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.phone-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.phone-modal-header h3{color:#333;font-family:Nanum Myeongjo,serif;font-size:18px;font-weight:700}.phone-modal-close{cursor:pointer;background:0 0;border:none;padding:4px}.phone-modal-content{text-align:center;padding:20px 0}.phone-modal-name{color:#333;margin-bottom:8px;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700}.phone-modal-number{color:#333;margin-bottom:24px;font-family:Nanum Myeongjo,serif;font-size:24px;font-weight:700}.phone-modal-call-btn{color:#fff;background:#4caf50;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.mourners-table{flex-direction:column;padding-left:10px;display:flex}.mourner-row{border-bottom:1px solid #f5f5f5;align-items:center;padding:2px 0 12px;display:flex}.mourner-row:last-child{border-bottom:none}.mourner-rel{color:#999;flex-shrink:0;width:65px;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700}.mourner-name,.mourner-names{color:#444;flex:1;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:400}.mourner-tel{background:#faf8f5;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;text-decoration:none;display:flex}.mourner-tel svg{width:20px;height:20px}.mourner-tel-inline{vertical-align:middle;justify-content:center;align-items:center;margin-left:2px;text-decoration:none;display:inline-flex}.mourner-tel-inline svg{width:14px;height:14px}.mourner-action-btns{gap:12px;margin-top:24px;display:flex}.mourner-action-btn{cursor:pointer;background:#fafafa;border:1px solid #eee;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:20px 16px;text-decoration:none;display:flex}.action-btn-icon{width:32px;height:32px}.mourner-action-btn span{color:#555;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700}.action-bar{background:#fff;border:1px solid #e5e5e5;border-radius:8px;justify-content:center;align-items:center;margin-top:24px;display:flex;overflow:hidden}.action-bar-btn{cursor:pointer;color:#333;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:16px 12px;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:400;display:flex}.action-bar-btn:active{background:#f9f9f9}.action-bar-btn svg{stroke:#333;flex-shrink:0}.action-bar-divider{background:#e5e5e5;width:1px;height:24px}.funeral-info-table{flex-direction:column;gap:12px;padding-left:10px;display:flex}.burial-row{margin-top:-8px}.funeral-info-row{align-items:flex-start;gap:12px;display:flex}.funeral-info-divider{background:#f5f5f5;height:1px;margin:4px 0}.funeral-highlight .funeral-info-label,.funeral-highlight .funeral-info-value{color:#111;font-weight:600}.funeral-info-label{color:#999;flex-shrink:0;width:65px;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700}.funeral-info-value{color:#444;flex:1;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:400}.burial-box{background:#686868;border-radius:4px;justify-content:center;align-items:center;padding:4px 12px;display:inline-flex}.burial-label{color:#fff;font-family:Nanum Myeongjo,serif;font-size:13px;font-weight:700}.burial-text{color:#444;margin-left:8px;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:400}.burial-section{align-items:flex-start}.burial-list{flex-direction:column;gap:4px;display:flex}.burial-item{align-items:center;display:flex}.notice-section{padding-left:10px}.notice-text{color:#444;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:400;line-height:1.6}.account-list{flex-direction:column;gap:12px;display:flex}.account-row{background:#fafafa;border-radius:8px;justify-content:space-between;align-items:center;padding:16px;display:flex}.account-info{flex-direction:column;gap:4px;display:flex}.account-bank{color:#999;font-family:Nanum Myeongjo,serif;font-size:12px;font-weight:700}.account-number{color:#111;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700}.account-holder{color:#9e8566;font-family:Nanum Myeongjo,serif;font-size:12px;font-weight:700}.btn-copy{color:#555;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:8px 16px;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700}.btn-copy:active{background:#f5f5f5}.guestbook-section{background:#fafafa}.guestbook-form{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.form-input{color:#333;background:#fff;border:1px solid #e5e5e5;border-radius:8px;height:48px;padding:0 16px;font-family:Nanum Myeongjo,serif;font-size:14px}.form-input::placeholder{color:#b4b4b4}.form-textarea{color:#333;resize:none;background:#fff;border:1px solid #e5e5e5;border-radius:8px;height:100px;padding:16px;font-family:Nanum Myeongjo,serif;font-size:14px}.form-textarea::placeholder{color:#b4b4b4}.btn-submit{color:#fff;cursor:pointer;background:#9e8566;border:none;border-radius:8px;height:48px;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700}.btn-submit:active{background:#8a7559}.guestbook-empty{text-align:center;padding:24px 0}.guestbook-empty p{color:#b4b4b4;font-family:Nanum Myeongjo,serif;font-size:14px}.flower-section{background:#fafafa}.flower-send-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:20px;padding:16px;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:700;display:flex}.flower-send-btn:active{background:#f5f5f5}.flower-icon{font-size:18px}.flower-list{flex-direction:column;gap:16px;display:flex}.flower-item{align-items:flex-start;gap:12px;display:flex}.flower-item-icon{flex-shrink:0;margin-top:2px;font-size:16px}.flower-item-content{flex:1}.flower-item-name{color:#333;margin-bottom:4px;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:700}.flower-item-message{color:#999;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:400}.flower-empty{text-align:center;padding:24px 0}.flower-empty p{color:#999;font-family:Nanum Myeongjo,serif;font-size:14px}.bottom-buttons{background:#fff;border:1px solid #f3f3f3;border-radius:8px;align-items:center;width:328px;height:82px;margin:24px auto;display:flex}.bottom-btn{cursor:pointer;color:#444;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;height:100%;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700;display:flex}.bottom-btn:disabled{color:#b4b4b4;cursor:not-allowed}.bottom-btn:active:not(:disabled){background:#fafafa}.bottom-icon{width:24px;height:24px}.divider-vertical{background:#f3f3f3;width:1px;height:50px}.footer-message{text-align:center;padding:24px 16px 40px}.footer-message p{color:#b4b4b4;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700;line-height:1.7}.share-modal{z-index:1000;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.share-overlay{background:#0006;position:absolute;inset:0}.share-content{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:360px;padding:0 0 40px;animation:.3s ease-out slideUpModal;position:relative}.share-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.share-header h3{color:#111;font-family:Nanum Myeongjo,serif;font-size:16px;font-weight:700}.share-close{color:#999;cursor:pointer;background:0 0;border:none;width:32px;height:32px;font-size:18px}.share-option{cursor:pointer;color:#333;text-align:left;background:0 0;border:none;border-bottom:1px solid #f5f5f5;align-items:center;gap:16px;width:100%;padding:16px;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700;display:flex}.share-option:last-child{border-bottom:none}.share-option img{width:32px;height:32px}.share-option:active{background:#fafafa}@media (min-width:361px){.view-page{box-shadow:0 0 20px #0000000d}}.account-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.account-bottom-sheet{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:360px;max-height:70vh;animation:.3s ease-out slideUpModal;overflow:hidden}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.sheet-header h3{color:#111;font-family:Nanum Myeongjo,serif;font-size:18px;font-weight:800}.sheet-close{color:#999;cursor:pointer;background:0 0;border:none;width:32px;height:32px;font-size:20px}.account-bottom-sheet .account-list{max-height:calc(70vh - 80px);padding:16px 20px 32px;overflow-y:auto}.account-bottom-sheet .account-row{background:#fafafa;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;display:flex}.account-bottom-sheet .account-row:last-child{margin-bottom:0}.account-bottom-sheet .account-info{flex-direction:column;gap:4px;display:flex}.account-rel{color:#9e8566;margin-bottom:2px;font-family:Nanum Myeongjo,serif;font-size:12px;font-weight:700}.account-bottom-sheet .account-bank{color:#999;font-family:Nanum Myeongjo,serif;font-size:12px;font-weight:700}.account-bottom-sheet .account-number{color:#111;font-family:Nanum Myeongjo,serif;font-size:18px;font-weight:700}.account-bottom-sheet .account-holder{color:#9e8566;font-family:Nanum Myeongjo,serif;font-size:13px;font-weight:700}.account-bottom-sheet .btn-copy{color:#555;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 20px;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:700}.account-bottom-sheet .btn-copy:active{background:#f5f5f5}.info-table-section{padding:24px 16px}.info-table{flex-direction:column;gap:16px;display:flex}.info-table-row{align-items:flex-start;gap:16px;display:flex}.info-table-row.mourner-info{align-items:flex-start}.info-table-label{color:#999;flex-shrink:0;width:45px;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:700}.info-table-value{color:#333;flex:1;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:400;line-height:1.5}.info-table-value.mourner-list{flex-direction:column;gap:4px;display:flex}.mourner-info-row{align-items:center;display:flex}.mourner-rel-label,.mourner-name-list{color:#333;font-family:Nanum Myeongjo,serif;font-size:15px;font-weight:400}.address-copy-btn{color:#4a90d9;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:4px;padding:0;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:400;text-decoration:none;display:flex}.address-copy-btn:hover{text-decoration:underline}.address-copy-btn svg{flex-shrink:0}.memorial-overlay{z-index:9999;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}body:has(.memorial-overlay){overflow:hidden}.memorial-content{text-align:center;color:#fff;padding:40px 20px}.memorial-ribbon{filter:brightness(0)invert();width:120px;height:auto;margin-bottom:32px}.memorial-message{color:#fff;margin-bottom:16px;font-family:Nanum Myeongjo,serif;font-size:22px;font-weight:700}.memorial-sub{color:#ffffffb3;font-family:Nanum Myeongjo,serif;font-size:14px}.floating-flower-cta{z-index:10001;pointer-events:none;opacity:0;justify-content:center;align-items:center;gap:0;width:calc(100% - 32px);max-width:328px;transition:all .3s ease-out;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(100px)}.floating-flower-cta.show{pointer-events:auto;opacity:1;transform:translate(-50%)translateY(0)}.floating-flower-cta.hide{pointer-events:none;opacity:0;transform:translate(-50%)translateY(100px)}.floating-flower-cta.modal-open{justify-content:flex-end;max-width:440px}.btn-flower-search-floating{cursor:pointer;opacity:0;pointer-events:none;background:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:0;height:52px;margin-right:0;transition:all .3s ease-out;display:flex;overflow:hidden}.btn-flower-search-floating.show{opacity:1;pointer-events:auto;border:1px solid #e5e5e5;width:52px;margin-right:12px}.btn-flower-search-floating .material-symbols-outlined{color:#666;font-size:22px}.btn-floating-flower{color:#000;cursor:pointer;background:#ffd43b;border:none;border-radius:50px;flex:1;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:600;transition:all .3s ease-out;display:flex;box-shadow:0 4px 20px #00000026}.btn-floating-flower:hover{background:#fcc419}.btn-floating-flower:active{background:#ffd43b}.btn-floating-flower .material-symbols-outlined{font-size:18px}.flower-modal-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.flower-modal{background:#fff;border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:480px;height:calc(70vh + 30px);max-height:calc(70vh + 30px);animation:.3s ease-out slideUp;display:flex}.flower-modal-header{text-align:center;border-bottom:1px solid #f0f0f0;padding:24px 20px 20px;position:relative}.flower-modal-close{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:16px;right:16px}.flower-modal-close .material-symbols-outlined{color:#666;font-size:24px}.flower-modal-title{color:#1a1a1a;margin-bottom:12px;font-family:Nanum Myeongjo,serif;font-size:24px;font-weight:800}.flower-modal-subtitle{color:#666;font-family:Nanum Myeongjo,serif;font-size:14px;font-weight:400;line-height:1.6}.flower-product-list{flex:1;padding:16px 20px 100px;overflow-y:auto}.flower-product-item{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:12px;padding:16px 0;display:flex}.flower-product-item:last-child{border-bottom:none}.flower-product-item .flower-radio{cursor:pointer;background:#fff;border:2px solid #ccc;border-radius:50%;flex-shrink:0;width:22px;height:22px;margin-top:4px;transition:all .2s}.flower-product-item .flower-radio.checked{border-color:var(--primary,#ffd43b);box-shadow:inset 0 0 0 5px var(--primary,#ffd43b);background:#fff}.flower-product-image{background:#f5f5f5;border-radius:8px;flex-shrink:0;width:80px;height:80px;overflow:hidden}.flower-product-image img{object-fit:cover;width:100%;height:100%}.flower-product-info{flex:1;min-width:0}.flower-product-name{color:#1a1a1a;margin-bottom:4px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:600}.flower-product-desc{color:#888;margin-bottom:8px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:400;line-height:1.4}.flower-product-price{align-items:center;gap:8px;display:flex}.flower-product-price .original-price{color:#aaa;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:400;text-decoration:line-through}.flower-product-price .sale-price{color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:18px;font-weight:700}.flower-modal-footer{background:#fff;border-top:1px solid #f0f0f0;gap:12px;padding:16px 20px;display:flex}.btn-flower-search{cursor:pointer;background:#fff;border:1px solid #e5e5e5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.btn-flower-search .material-symbols-outlined{color:#666;font-size:22px}.btn-flower-order{background:var(--primary,#ffd43b);color:#1a1a1a;cursor:pointer;border:none;border-radius:50px;flex:1;height:52px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:600}.btn-flower-order:hover,.btn-flower-order:active{background:var(--primary-dark,#fcc419)}
