/* Escáner nativo, móvil primero; estilos confinados a la sección QR. */
.qr-scan{max-width:720px;margin:0 auto;padding:clamp(105px,13vh,152px) 16px max(50px,env(safe-area-inset-bottom));color:#fff;text-align:center;min-height:90svh;box-sizing:border-box}
body.route-scanner #app{background:linear-gradient(165deg,#170801,#30190c 85%);min-height:100svh}
.qr-scan h1{font-size:clamp(1.75rem,6vw,2.45rem);line-height:1.1;color:#ffa745;margin:0 0 13px}
.qr-scan p{line-height:1.5;color:#ffecdf;max-width:480px;margin:0 auto 17px}
.qr-scan__viewer{position:relative;overflow:hidden;background:#090707;border:2px solid #b66b27;border-radius:19px;box-shadow:0 10px 32px #0008;max-width:530px;margin:15px auto;aspect-ratio:4/5}
.qr-scan__viewer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.qr-scan__target{position:absolute;inset:22%;border:3px solid #ffa540;border-radius:20px;pointer-events:none;box-shadow:0 0 0 9999px #0002}
.qr-scan__status{min-height:2.8em;font-size:.96rem;color:#ffe1b9!important;margin:12px auto 14px!important}
.qr-scan__warning{color:#ffbeaa!important}
.qr-scan__actions{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.qr-scan__actions .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:10px 22px}
.ruta-scan-cta{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:12px 21px;min-height:48px;border-radius:12px;border:1px solid #ffab51;background:#e88624;color:#211009!important;text-decoration:none!important;font-weight:800;box-shadow:0 4px 14px #0004;line-height:1.2;text-align:center}
.ruta-scan-cta:hover,.ruta-scan-cta:focus-visible{background:#ffb15e;color:#211009!important}
.ruta-scan-cta:before{content:'▣';font-size:1.4rem;line-height:1}
.participa-scan-cta-wrap{display:flex;justify-content:flex-start;margin:16px 0 20px}
.poster-hero__actions .ruta-scan-cta{min-height:48px}
@media(max-width:600px){.qr-scan__viewer{width:min(100%,390px);aspect-ratio:3/4}.participa-scan-cta-wrap .ruta-scan-cta{width:100%}}

.ruta-home-legacy-cta{position:absolute;z-index:10;bottom:clamp(30px,8vh,90px);left:50%;transform:translateX(-50%);white-space:nowrap}
