/* V13 — faithful owner-supplied QR cards, no external images, fonts or SDKs. */
html.nuo-contact-active { scroll-behavior:auto; }
.contact-dialog.qr-view { width:min(800px,calc(100vw - 40px)); padding:20px 28px 24px; }
.contact-dialog.qr-view > .contact-close,
.contact-dialog.qr-view > .contact-dialog-brand,
.contact-dialog.qr-view > .eyebrow,
.contact-dialog.qr-view > #contact-title,
.contact-dialog.qr-view > #contact-intro,
.contact-dialog.qr-view > .contact-form-shortcut,
.contact-dialog.qr-view > .contact-options,
.contact-dialog.qr-view > .contact-location-note,
.contact-dialog.qr-view > .contact-footer-note,
.contact-dialog.qr-view > .contact-preview-note { display:none; }
.qr-navigation { display:flex; align-items:center; justify-content:space-between; gap:14px; position:sticky; top:-20px; z-index:4; background:var(--paper-light,#fffaf3); padding:8px 0 14px; margin-bottom:5px; border-bottom:1px solid var(--border,#dfd2bf); }
.qr-navigation[hidden] { display:none; }
.qr-back { border:0; background:transparent; display:flex; align-items:center; gap:10px; color:#705b43; padding:10px 5px 10px 0; min-height:44px; font-size:12px; line-height:1.5; text-align:left; }
.qr-back .icon { transform:rotate(180deg); width:19px; height:19px; flex-shrink:0; }
.qr-close { border:1px solid var(--border,#dfd2bf); background:var(--paper-light,#fffaf3); border-radius:50%; display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; color:#5e4b36; }
.qr-close:hover,.qr-back:hover { background:#f0e9dc; }
.contact-dialog .qr-panel { padding:18px 0 0; margin:0; border:0; border-radius:0; background:transparent; }
.contact-dialog .qr-panel h3 { font-family:var(--serif,serif); font-size:28px; line-height:1.5; font-weight:400; letter-spacing:.025em; }
.contact-dialog .qr-panel > .qr-panel-intro { font-size:13px; line-height:1.8; margin:6px 0 22px; color:#7e6d57; }
.qr-card-layout { display:grid; grid-template-columns:264px minmax(0,1fr); gap:28px; align-items:start; }
.qr-card-visual,.qr-card-copy { min-width:0; }
.qr-square { padding:12px 12px 16px; background:#fff; border:1px solid #e5d9c8; border-radius:10px; margin:0; }
.qr-square img { width:100%; max-width:100%; height:auto; display:block; object-fit:contain; background:#fff; filter:none; }
.qr-square figcaption { display:flex; flex-direction:column; align-items:center; gap:6px; margin-top:12px; font-size:16px; color:#463b2c; }
.qr-square figcaption small { font-size:10px; color:#8a7b68; letter-spacing:.08em; }
.qr-image-actions { display:flex; flex-direction:column; align-items:center; gap:2px; padding-top:8px; }
.qr-save { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; font-size:12px; color:#4d6550; }
.qr-save .icon { width:15px; height:15px; }
.qr-original { display:inline-flex; align-items:center; justify-content:center; min-height:40px; font-size:11px; color:#7a6750; text-decoration:underline; text-underline-offset:4px; }
.qr-eyebrow { margin:1px 0 13px; font-size:10px; letter-spacing:.16em; color:#9a7d53; }
.qr-card-copy .wechat-id-label { margin:0 0 8px; font-size:12px; }
.qr-card-copy .wechat-id-row { gap:7px; }
.qr-card-copy .wechat-id-row input { font-size:19px; line-height:1.4; padding:9px 10px; color:#2f6c47; min-width:0; background:#f4f8f1; border-color:#ccdbca; }
.qr-card-copy .wechat-id-row button { display:flex; align-items:center; gap:5px; padding:8px 10px; background:#35664a; border-color:#35664a; color:#fff; font-size:12px; line-height:1.5; min-height:48px; }
.qr-card-copy .wechat-id-row .icon { margin:0; flex-shrink:0; }
.qr-card-copy .contact-copy-status { font-size:11px; line-height:1.7; margin:7px 0 12px; color:#38654b; min-height:0; }
.qr-card-copy .contact-copy-status:empty { display:none; }
.qr-instructions { margin-top:19px; }
.qr-instructions > strong { font-size:12px; font-weight:500; line-height:1.6; display:block; margin-top:16px; color:#534633; }
.qr-instructions > p { color:#796b58; font-size:12px; line-height:1.85; margin:5px 0 0; }
.qr-contact-notice { margin-top:18px; padding:12px 13px; background:#f2ebe0; border-left:2px solid #b29468; font-size:11px; line-height:1.9; color:#7b684e; }
.qr-profile-name { font-family:var(--serif,serif); font-size:22px; font-weight:400; line-height:1.5; color:#4f4231; }
.qr-profile-kind { font-size:11px; margin-top:4px; line-height:1.7; color:#837059; }
.qr-open-kakao { margin-top:15px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border-radius:5px; background:#fee500; border:1px solid #ead000; color:#3b2c0b; min-height:50px; font-size:13px; line-height:1.65; }
.qr-open-kakao .icon { flex:0 0 18px; width:18px; }
.qr-open-kakao:hover { background:#f1d600; }
.qr-booking-fallback { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; padding:17px 0 2px; border-top:1px solid var(--border,#dfd2bf); font-size:12px; color:#735d42; line-height:1.7; min-height:44px; }
.qr-booking-fallback .icon { flex-shrink:0; width:18px; }
.qr-noscript { padding:32px; max-width:800px; margin:20px auto; border:1px solid #d7c7b0; background:#fffaf3; }
.qr-noscript > div { display:flex; flex-wrap:wrap; gap:24px; }
.qr-noscript h2 { font-size:22px; }
.qr-noscript h3 { font-size:18px; margin-top:20px; }
.qr-noscript img { display:block; max-width:100%; height:auto; margin:12px 0; }
.qr-noscript a { display:block; padding:10px 0; text-decoration:underline; }
@media(max-width:700px) {
 .contact-dialog.qr-view { width:100%; max-width:540px; padding:16px 20px calc(20px + env(safe-area-inset-bottom)); }
 .qr-navigation { top:-16px; padding:8px 0 10px; }
 .contact-dialog .qr-panel { padding-top:12px; }
 .contact-dialog .qr-panel h3 { font-size:25px; }
 .contact-dialog .qr-panel > .qr-panel-intro { margin-bottom:16px; font-size:12px; }
 .qr-card-layout { display:flex; flex-direction:column; gap:17px; }
 .qr-card-visual { width:244px; max-width:100%; margin:0 auto; }
 .qr-card-copy { width:100%; }
 .qr-square { padding:10px 10px 12px; }
 .qr-square figcaption { margin-top:8px; gap:3px; font-size:14px; }
 .qr-image-actions { flex-direction:row; flex-wrap:wrap; justify-content:space-around; column-gap:8px; padding-top:6px; }
 .qr-save,.qr-original { min-height:44px; font-size:11px; }
 .qr-eyebrow { font-size:9px; margin:0 0 8px; }
 .qr-card-copy .wechat-id-row input { font-size:19px; }
 .qr-instructions { margin-top:10px; }
 .qr-instructions > strong { margin-top:10px; }
 .qr-instructions > :nth-child(3),.qr-instructions > :nth-child(4) { display:none; }
 .qr-contact-notice { font-size:11px; margin-top:13px; }
 .qr-booking-fallback { font-size:12px; margin-top:16px; }
 .qr-open-kakao { font-size:13px; }
}
@media(max-width:360px) { .contact-dialog.qr-view { padding-inline:16px; } .qr-card-copy .wechat-id-row button { font-size:11px; padding:8px; } }
@media(prefers-reduced-motion:reduce) { .qr-panel * { scroll-behavior:auto; } }
@media print { .qr-navigation,.qr-booking-fallback,.qr-image-actions,.qr-open-kakao { display:none !important; } }
