.alek-fire-scanner { --afs-red:#ce0028; --afs-ink:#111b26; --afs-border:#e0e6eb; --afs-muted:#5c6872; color:var(--afs-ink); max-width:1040px; margin:24px auto 0; font-family:inherit; font-size:16px; line-height:1.8; text-align:left; }
.alek-fire-scanner * { box-sizing:border-box; }
.alek-fire-scanner [hidden] { display:none !important; }
.alek-fire-scanner .afs-eyebrow { color:var(--afs-red); font-size:11px; letter-spacing:1.5px; font-weight:600; }
.alek-fire-scanner h2 { font-size:clamp(25px,3vw,36px); line-height:1.5; margin:8px 0 16px; }
.alek-fire-scanner .afs-heading p { margin:0; color:var(--afs-muted); }
.alek-fire-scanner .afs-mode-note { padding:14px 18px; margin:24px 0 30px; border-left:3px solid var(--afs-red); background:#f5f7f8; color:var(--afs-muted); font-size:14px; }
.alek-fire-scanner .afs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,44px); }
.alek-fire-scanner .afs-camera-placeholder,.alek-fire-scanner .afs-camera { width:100%; min-height:280px; aspect-ratio:4/3; background:#f4f7f7; border:1px solid var(--afs-border); border-radius:6px; }
.alek-fire-scanner .afs-camera-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; gap:22px; color:var(--afs-red); }
.alek-fire-scanner .afs-camera-placeholder span { color:var(--afs-muted); font-size:14px; text-align:center; }
.alek-fire-scanner .afs-camera { position:relative; overflow:hidden; }
.alek-fire-scanner video { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.alek-fire-scanner .afs-camera-frame { position:absolute; inset:15%; border:2px solid #fff; border-radius:6px; pointer-events:none; box-shadow:0 0 0 100vmax #0002; }
.alek-fire-scanner .afs-camera-actions { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 18px; }
.alek-fire-scanner button,.alek-fire-scanner input { font-family:inherit; font-size:15px; }
.alek-fire-scanner .afs-primary,.alek-fire-scanner .afs-secondary,.alek-fire-scanner .afs-file-label { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; border-radius:4px; padding:12px 18px; cursor:pointer; text-align:center; line-height:1.6; font-weight:600; border:1px solid var(--afs-border); max-width:100%; }
.alek-fire-scanner .afs-primary { background:var(--afs-red); color:#fff; border-color:var(--afs-red); }
.alek-fire-scanner .afs-primary:hover { background:#a30020; border-color:#a30020; color:#fff; }
.alek-fire-scanner .afs-secondary,.alek-fire-scanner .afs-file-label { background:#fff; color:var(--afs-ink); }
.alek-fire-scanner button:disabled { opacity:.65; cursor:wait; }
.alek-fire-scanner .afs-file-input { display:block; width:100%; max-width:100%; font-size:13px; color:var(--afs-muted); }
.alek-fire-scanner .afs-file-input::file-selector-button { padding:8px 12px; border:1px solid var(--afs-border); background:#fff; border-radius:4px; margin-right:10px; font-family:inherit; }
.alek-fire-scanner .afs-camera-note { font-size:13px; color:var(--afs-muted); margin:14px 0 0; }
.alek-fire-scanner form { display:flex; flex-direction:column; gap:12px; margin:0; }
.alek-fire-scanner form > label { font-weight:600; font-size:15px; }
.alek-fire-scanner input[type=text] { width:100%; min-height:50px; border:1px solid var(--afs-border); background:#fff; color:var(--afs-ink); padding:12px 14px; border-radius:4px; }
.alek-fire-scanner input:focus-visible,.alek-fire-scanner button:focus-visible,.alek-fire-scanner label:focus-visible { outline:3px solid #ce002870; outline-offset:3px; }
.alek-fire-scanner .afs-status { margin:20px 0; min-height:28px; font-size:14px; color:var(--afs-muted); }
body.afs-modal-open { overflow:hidden!important; }
.alek-fire-scanner .afs-result { position:fixed; inset:0; width:calc(100% - 32px); max-width:600px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #d2e4da; border-radius:28px; overflow:visible; background:#f0faf4; color:var(--afs-ink); box-shadow:0 24px 80px #071c2633; text-align:center; }
.alek-fire-scanner .afs-result::backdrop { background:#101c29b8; backdrop-filter:blur(5px); }
.alek-fire-scanner .afs-result-shell { padding:64px 40px 28px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; border-radius:inherit; }
.alek-fire-scanner .afs-result-close { position:absolute; z-index:1; top:14px; right:14px; display:flex; align-items:center; justify-content:center; width:46px; height:46px; min-height:46px; padding:0; border:2px solid var(--afs-red); border-radius:50%; color:var(--afs-ink); background:#fff; cursor:pointer; }
.alek-fire-scanner .afs-result-brand { display:flex; justify-content:center; font-family:Arial,sans-serif; font-size:clamp(32px,7vw,46px); line-height:1.15; font-style:italic; font-weight:900; letter-spacing:-2px; margin:2px 0 22px; }
.alek-fire-scanner .afs-result-brand span:last-child { color:var(--afs-red); }
.alek-fire-scanner .afs-result-badge { display:block; width:152px; height:152px; margin:0 auto 22px; }
.alek-fire-scanner .afs-result h3 { font-size:clamp(23px,5.6vw,32px); line-height:1.45; margin:0 0 8px; color:#217c52; font-weight:700; }
.alek-fire-scanner .afs-result .afs-result-subtitle { margin:0 0 28px; color:#4c7460; font-size:16px; }
.alek-fire-scanner .afs-result dl { margin:0 0 24px; text-align:left; }
.alek-fire-scanner .afs-result dl > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; padding:10px 0; }
.alek-fire-scanner .afs-result dt { color:#75837e; font-size:16px; }
.alek-fire-scanner .afs-result dd { margin:0; font-size:18px; font-weight:500; overflow-wrap:anywhere; }
.alek-fire-scanner .afs-result .afs-result-note { margin:0; font-size:13px; line-height:1.8; color:#66796e; }
.alek-fire-scanner .afs-contact { display:inline-block; margin-top:18px; color:var(--afs-red); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.alek-fire-scanner .afs-result[data-state=not_found],.alek-fire-scanner .afs-result[data-state=not_available] { background:#fff9ee; border-color:#e6dac2; }
.alek-fire-scanner .afs-result:not([data-state=found]) h3 { color:#916013; }
.alek-fire-scanner .afs-result:not([data-state=found]) .afs-result-subtitle { color:#806c47; }
.alek-fire-scanner .afs-result:not([data-state=found]) .afs-result-badge circle:nth-of-type(3) { fill:#a67317; }
.alek-fire-scanner .afs-dialog-fallback { display:block; z-index:2147482000; height:max-content; box-shadow:0 0 0 100vmax #101c29b8; }
@media(max-width:440px) { .alek-fire-scanner .afs-result { width:calc(100% - 24px); border-radius:24px; } .alek-fire-scanner .afs-result-shell { padding:66px 24px 24px; } .alek-fire-scanner .afs-result dl > div { grid-template-columns:78px minmax(0,1fr); gap:12px; } .alek-fire-scanner .afs-result dd { font-size:16px; } .alek-fire-scanner .afs-result dt { font-size:14px; } .alek-fire-scanner .afs-result-badge { width:132px; height:132px; margin-bottom:18px; } .alek-fire-scanner .afs-result .afs-result-subtitle { font-size:14px; margin-bottom:22px; } }
@media(max-height:620px) { .alek-fire-scanner .afs-result-shell { padding-top:54px; } .alek-fire-scanner .afs-result-badge { width:94px; height:94px; margin-bottom:12px; } .alek-fire-scanner .afs-result-brand { font-size:32px; margin-bottom:12px; } .alek-fire-scanner .afs-result h3 { font-size:24px; } }
@media(prefers-reduced-motion:no-preference) { .alek-fire-scanner .afs-result[open] .afs-result-shell { animation:afs-result-in .22s ease-out; } @keyframes afs-result-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } } }
@media(max-width:700px) { .alek-fire-scanner .afs-grid { grid-template-columns:minmax(0,1fr); } .alek-fire-scanner .afs-camera-placeholder,.alek-fire-scanner .afs-camera { min-height:230px; } .alek-fire-scanner .afs-camera-actions > * { flex:1 1 100%; } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .alek-fire-scanner .afs-primary { transition:background-color .15s ease,transform .15s ease; } .alek-fire-scanner .afs-primary:hover { transform:translateY(-2px); } }
.alek-fire-scanner .afs-result .afs-sample-notice { margin:0 0 18px; padding:10px 12px; background:#fff3d9; border:1px solid #e4d1a4; border-radius:7px; color:#79581c; font-size:12px; line-height:1.7; }
.alek-fire-scanner [data-sample-serial] { font-size:15px!important; }

