/* Scan Me: a themed opportunity pass. QR ink and its quiet zone stay scan-safe. */
#job-qr-modal { z-index:100000 !important; }
.jm-qr-modal { position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; padding:16px; background:color-mix(in srgb,var(--theme-primary-bg,#4c1d95) 28%,#090c18 72%); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.jm-qr-modal.is-active { display:flex; }
.jm-qr-dialog { position:relative; isolation:isolate; width:100%; max-width:720px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; border-radius:28px; background:var(--theme-surface,#fff); box-shadow:0 32px 100px #0007; text-align:left; border:1px solid #ffffff40; animation:jm-qr-arrive .22s ease-out; }
.jm-qr-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.jm-qr-story { position:relative; isolation:isolate; min-width:0; padding:30px 26px; display:flex; flex-direction:column; gap:24px; color:#fff; background:var(--theme-primary-bg,#4c1d95); }
.jm-qr-story::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--theme-hero-bg,#f59e0b) 65%,transparent),transparent 65%),linear-gradient(160deg,color-mix(in srgb,var(--theme-primary-bg,#4c1d95) 80%,transparent),#101223ed); }
.jm-qr-story-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; opacity:.55; }
.jm-qr-brand { display:flex; align-items:center; gap:10px; padding-right:24px; }
.jm-qr-brand-icon { display:grid; place-items:center; width:40px; height:40px; flex:none; border-radius:13px; background:#ffffff18; border:1px solid #ffffff40; }
.jm-qr-brand strong { display:block; font-size:14px; letter-spacing:.01em; }
.jm-qr-brand small { display:block; margin-top:2px; font-size:10px; color:#ffffffe0; letter-spacing:.09em; text-transform:uppercase; }
.jm-qr-eyebrow { margin:0 0 8px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; color:#ffffffe0; }
#job-qr-modal .jm-qr-headline { margin:0; color:#fff; font-family:Georgia,serif; font-size:32px; line-height:1.12; letter-spacing:-.025em; font-weight:700; }
.jm-qr-job { margin-top:auto; border-top:1px solid #ffffff40; padding-top:20px; min-width:0; }
.jm-qr-dialog-title { margin:0 0 8px; color:#fff; font-size:18px; line-height:1.3; font-weight:800; overflow-wrap:anywhere; }
.jm-qr-dialog-sub { margin:0; color:#ffffffe6; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.jm-qr-panel { min-width:0; padding:32px 24px 22px; display:flex; flex-direction:column; align-items:center; gap:16px; background:radial-gradient(ellipse at 100% 0,color-mix(in srgb,var(--theme-hero-bg,#f59e0b) 14%,transparent),transparent 70%),var(--theme-surface,#fff); }
.jm-qr-close-btn { position:absolute; z-index:2; top:12px; right:12px; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--theme-border,#ddd); border-radius:50%; background:var(--theme-surface,#fff); color:var(--theme-heading,#17152c); cursor:pointer; }
.jm-qr-close-btn:hover { background:var(--theme-surface-muted,#f5f3ff); }
.jm-qr-lens-badge { margin:14px 0 0; display:flex; align-items:center; gap:7px; color:var(--theme-primary-bg,#4c1d95); font-size:11px; font-weight:800; }
.jm-qr-canvas-card { position:relative; display:flex; align-items:center; justify-content:center; padding:20px; background:#fff; border-radius:22px; border:1px solid color-mix(in srgb,var(--theme-primary-bg,#4c1d95) 20%,#fff); box-shadow:0 12px 30px color-mix(in srgb,var(--theme-primary-bg,#4c1d95) 12%,transparent); max-width:100%; }
#job-qr-canvas { display:block; width:200px !important; height:200px !important; max-width:100%; }
.jm-qr-corner { position:absolute; width:22px; height:22px; border:solid var(--theme-primary-bg,#4c1d95); pointer-events:none; }
.jm-qr-corner--tl { top:9px; left:9px; border-width:3px 0 0 3px; border-top-left-radius:8px; }
.jm-qr-corner--tr { top:9px; right:9px; border-width:3px 3px 0 0; border-top-right-radius:8px; }
.jm-qr-corner--bl { bottom:9px; left:9px; border-width:0 0 3px 3px; border-bottom-left-radius:8px; }
.jm-qr-corner--br { bottom:9px; right:9px; border-width:0 3px 3px 0; border-bottom-right-radius:8px; }
.jm-qr-scan-hint { margin:0; max-width:240px; text-align:center; font-size:12px; line-height:1.5; color:var(--theme-text,#334155); }
.jm-qr-scan-hint strong { display:block; margin-bottom:3px; color:var(--theme-heading,#17152c); font-size:14px; }
.jm-qr-modal-actions { width:100%; display:flex; flex-direction:column; gap:8px; }
.jm-qr-modal-btn-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:8px; }
.jm-qr-btn-primary,.jm-qr-btn-secondary { min-width:0; min-height:46px; padding:10px 8px; border-radius:12px; display:flex; justify-content:center; align-items:center; gap:6px; font-family:inherit; font-size:12px; font-weight:800; line-height:1.3; text-decoration:none; text-align:center; cursor:pointer; overflow-wrap:anywhere; }
.jm-qr-btn-primary { background:var(--theme-primary-bg,#4c1d95); color:var(--theme-primary-text,#fff); border:1px solid var(--theme-primary-bg,#4c1d95); }
.jm-qr-btn-primary:hover { background:var(--theme-primary-hover-bg,#35126b); color:var(--theme-primary-text,#fff); }
.jm-qr-btn-secondary { background:var(--theme-surface,#fff); color:var(--theme-heading,#17152c); border:1px solid var(--theme-border,#ddd); }
.jm-qr-btn-secondary:hover { background:var(--theme-surface-muted,#f5f3ff); }
.jm-qr-modal svg { flex:none; }
.jm-qr-btn-dismiss { min-height:44px; border:0; background:transparent; color:var(--theme-text-muted,#64748b); font-size:12px; font-weight:600; line-height:1.4; font-family:inherit; cursor:pointer; }
.jm-qr-modal :is(button,a):focus-visible { outline:3px solid var(--theme-focus,#f59e0b); outline-offset:3px; }
@keyframes jm-qr-arrive { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
@media(max-width:599px) {
 .jm-qr-modal { padding:10px; }
 .jm-qr-dialog { max-width:400px; border-radius:22px; max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); }
 .jm-qr-layout { grid-template-columns:minmax(0,1fr); }
 .jm-qr-story { padding:20px; gap:14px; }
 .jm-qr-brand { padding-right:34px; }
 .jm-qr-brand-icon { width:34px; height:34px; border-radius:10px; }
 #job-qr-modal .jm-qr-headline { font-size:24px; }
 .jm-qr-headline br { display:none; }
 .jm-qr-job { padding-top:12px; }
 .jm-qr-dialog-title { font-size:16px; margin-bottom:4px; }
 .jm-qr-dialog-sub { font-size:11px; }
 .jm-qr-panel { padding:16px 20px 10px; gap:12px; }
 .jm-qr-lens-badge { margin:0; }
 .jm-qr-canvas-card { padding:18px; border-radius:18px; }
 #job-qr-canvas { width:180px !important; height:180px !important; }
 .jm-qr-close-btn { top:10px; right:10px; width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) { .jm-qr-dialog { animation:none; } }
