/* V10.19.7 - Shared QR viewer/downloader for all wedding templates */
.fic-qr-zoomable{cursor:zoom-in!important;touch-action:manipulation}
.fic-qr-zoomable:focus{outline:3px solid rgba(124,71,91,.28);outline-offset:3px}
body.fic-qr-modal-open{overflow:hidden!important}
.fic-qr-modal{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(17,14,16,.78);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.fic-qr-modal.is-open{display:flex;animation:ficQrFade .18s ease-out}
.fic-qr-dialog{position:relative;width:min(94vw,520px);max-height:94vh;overflow:auto;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.36);padding:20px;text-align:center;color:#2c2528}
.fic-qr-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:999px;background:rgba(24,20,22,.08);color:#272124;font-size:27px;line-height:38px;cursor:pointer;z-index:2}
.fic-qr-title{margin:4px 42px 14px;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fic-qr-image-wrap{display:flex;align-items:center;justify-content:center;min-height:250px;border-radius:18px;background:#faf8f8;padding:14px}
.fic-qr-image{display:block;width:auto;height:auto;max-width:100%;max-height:min(62vh,520px);object-fit:contain!important;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.fic-qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.fic-qr-action{appearance:none;border:0;border-radius:13px;padding:13px 12px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;background:#2d272a;color:#fff}
.fic-qr-action.secondary{background:#f0ebed;color:#3a3034}
.fic-qr-tip{margin:12px 4px 1px;color:#756a6e;font-size:12px;line-height:1.45}
.fic-qr-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(12px);z-index:2147483640;background:#241f21;color:#fff;padding:10px 14px;border-radius:999px;font-size:13px;opacity:0;pointer-events:none;transition:.2s}
.fic-qr-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@keyframes ficQrFade{from{opacity:0}to{opacity:1}}
@media(max-width:520px){.fic-qr-modal{padding:10px}.fic-qr-dialog{width:100%;border-radius:20px;padding:16px}.fic-qr-actions{grid-template-columns:1fr}.fic-qr-image-wrap{min-height:220px;padding:10px}.fic-qr-image{max-height:58vh}}
