/* Ventana con el QR de la página: se abre desde el ícono de QR del menú o con /#qr. */
.vqr-open{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:36px;height:36px;border-radius:9px;color:var(--muted-foreground);transition:color .2s,background .2s}
.vqr-open:hover,.vqr-open:focus-visible{color:var(--primary);background:var(--muted)}
.vqr-open svg{width:19px;height:19px;flex:none}
.vqr-open span{display:none}
.service-nav .vqr-open{margin-left:6px}
@media (width<=700px){
  .service-nav .vqr-open{width:30px;height:30px;margin-left:0}
  .service-nav .vqr-open svg{width:17px;height:17px}
  .nav-links .vqr-open{width:auto;height:auto;justify-content:flex-start;padding:12px;color:inherit}
  .nav-links .vqr-open span{display:inline}
}

.vqr-dialog{border:0;padding:0;background:transparent;color:var(--foreground);width:min(420px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;overflow:visible}
.vqr-dialog::backdrop{background:oklch(17% .035 260/.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vqr-card{position:relative;max-height:calc(100dvh - 24px);overflow:auto;background:#fff;border-radius:24px;padding:22px 22px 20px;box-shadow:0 30px 80px oklch(17% .035 260/.45);text-align:center;font-family:var(--font-sans)}
.vqr-brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:.95rem}
.vqr-brand img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.vqr-brand span span{color:var(--muted-foreground)}
.vqr-dialog h2{margin:12px 0 0;font-family:var(--font-display);font-size:1.3rem;font-weight:800;line-height:1.2;letter-spacing:0}
.vqr-box{width:100%;max-width:max(170px,min(340px,calc(100dvh - 270px)));aspect-ratio:1;margin:14px auto 10px;background:#fff}
.vqr-box svg{display:block;width:100%;height:100%}
.vqr-url{margin:0;font-weight:800;font-size:.95rem;overflow-wrap:anywhere}
.vqr-acts{display:flex;gap:10px;margin-top:16px}
.vqr-acts button{flex:1;min-height:46px;border-radius:10px;font:800 .9rem var(--font-sans);cursor:pointer;transition:background .2s,filter .2s}
.vqr-share{border:0;background:var(--primary);color:var(--light)}
.vqr-share:hover{filter:brightness(1.08)}
.vqr-close{border:1px solid var(--border);background:#fff;color:var(--foreground)}
.vqr-close:hover{background:var(--muted)}
.vqr-x{position:absolute;top:10px;right:10px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted-foreground);cursor:pointer}
.vqr-x:hover{background:var(--muted);color:var(--foreground)}
.vqr-x svg{width:20px;height:20px}
