﻿.scanner-area {
    position: relative;
    height: 52vh;
    background-color: var(--mud-palette-surface);
    overflow: hidden;
}

/* Scan guide overlay */
.scan-guide {
    position: absolute;
    width: 78%;
    height: 60%;
    border-radius: var(--mud-default-borderradius);
    border: 2px dashed var(--mud-palette-primary-lighten);
    box-shadow: inset 0 0 32px rgba(0, 0, 0, 0.25), 0 0 0 0 rgba(var(--mud-palette-primary-rgb), 0.35);
    pointer-events: none;
    animation: scan-pulse 2.4s ease-in-out infinite;
}

/* Subtle pulse using Mud theme color */
@keyframes scan-pulse {
    0% {
        box-shadow: inset 0 0 32px rgba(0, 0, 0, 0.25), 0 0 0 0 rgba(var(--mud-palette-primary-rgb), 0.35);
        opacity: 0.85;
    }

    50% {
        box-shadow: inset 0 0 32px rgba(0, 0, 0, 0.35), 0 0 24px 8px rgba(var(--mud-palette-primary-rgb), 0.25);
        opacity: 1;
    }

    100% {
        box-shadow: inset 0 0 32px rgba(0, 0, 0, 0.25), 0 0 0 0 rgba(var(--mud-palette-primary-rgb), 0.35);
        opacity: 0.85;
    }
}

.scanner-area {
    position: relative;
    height: 52vh;
    background-color: var(--mud-palette-surface);
    overflow: hidden;
    background: radial-gradient( circle at center, rgba(0,0,0,0.15), rgba(0,0,0,0.35) ), var(--mud-palette-surface);
}

/* Wrapper controls sizing */
.scanner-video-wrapper {
    width: 100%;
    height: 100%;
    padding: 8px;
}

    /* ZXing renders a video element inside */
    .scanner-video-wrapper video {
        width: 100%;
        height: 100%;
        object-fit: cover; /* key line */
        border-radius: inherit;
    }
