.photo-capture {
    flex-wrap: wrap;

    p {
        margin-block: .25rem;
        font-size: .83rem;
    }

    img.example-driver-license-barcode-capture-area {
        max-width: 92vw;
        margin: 0 auto;
        display: block;
        border-radius: 3ch;
    }

    ol {
        margin-block: .25rem;
        padding-inline-start: 1rem;

        li {
            font-size: .83rem;
        }
    }

    div.dl-photos-wrapper {
        margin-block-start: 1rem;
        display: grid;
        grid-auto-columns: auto;
        gap: 2rem;

        button {
            font-size: 1.5rem;
            height: 3ch;
            width: 3ch;
            max-width: unset;
            margin: .1rem .5rem;
        }

        .verified-badge {
            margin: .1rem .5rem;
        }

        div {

            &.verification-messages {

                ul {
                    border: 2px solid rgb(70% 30% 30%);
                    border-radius: .5rem;
                    padding-inline-start: 0;
                    list-style: none;
                    margin: 0;
                }
            }

            div.img-wrapper {
                position: relative;
                aspect-ratio: 16/9;
                width: 100%;
                border: 1px solid rgba(50% 60% 70% / 1);
                border-radius: .35rem;
                object-fit: contain;
                overflow: hidden;
                text-align: center;
            }
            div.img-wrapper::before {
                content: "";
                position: absolute;
                top: 0; left: 0;
                width: 100%; height: 100%;
                background-image: url('/static/images/icons/icon-camera-128x128.webp');
                background-position: center;
                background-repeat: no-repeat;
                background-size: contain;
                opacity: .3;
            }
            div.img-wrapper.retake::before {
                opacity: 1;
                background-position: top right;
                background-size: 48px;
            }
            img.photo-preview {
                width: auto;
                height: auto;
                max-width: 100%;
                max-height: 100%;
            }
            input[type="file"] {
                display: none;
            }
            img.hidden {
                display: none;
            }
        }
    }
}

/* Camera Capture Flyout */
#camera-capture-flyout {
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 10000;
    background-color: #000;
    display: none;
    min-height: 30vh;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    /* Height will be set dynamically via JavaScript to match video stream */

    .camera-capture-container {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;

        #camera-stream {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        #camera-canvas {
            display: none;
            visibility: hidden;
        }
        
        
        .camera-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            pointer-events: none;

            /* Dimmed areas around focus rectangle */
            .camera-overlay-dimmed {
                position: absolute;
                background-color: rgba(0, 0, 0, 0.5);
                backdrop-filter: blur(10px);
                -webkit-backdrop-filter: blur(10px);
                z-index: 0;
            }

            /* Dimmed overlay areas - positioned dynamically via JavaScript */
            .camera-overlay-dimmed-top {
                position: absolute;
            }

            .camera-overlay-dimmed-bottom {
                position: absolute;
            }

            .camera-overlay-dimmed-left {
                position: absolute;
            }

            .camera-overlay-dimmed-right {
                position: absolute;
            }

            /* Focus rectangle - positioned dynamically via JavaScript */
            .camera-focus-rectangle {
                position: absolute;
                border: 2px solid rgba(255, 255, 255, 0.8);
                width: 85%;
                left: 7.5%;
                border-radius: 0.5rem;
                pointer-events: none;
                z-index: 10;

                .camera-instruction-text {
                    position: absolute;
                    top: -3.5rem;
                    left: 50%;
                    transform: translateX(-50%);
                    color: #fff;
                    text-shadow: 
                        -1px -1px 0 #000,
                        1px -1px 0 #000,
                        -1px 1px 0 #000,
                        1px 1px 0 #000,
                        0 0 4px #000,
                        0 0 8px #000;
                    font-size: 1.1rem;
                    font-weight: 500;
                    text-align: center;
                    white-space: nowrap;
                    pointer-events: none;
                    z-index: 100;
                    filter: none; /* Ensure text is not blurred */
                }                
            }
        }
        
        .camera-controls {
            position: absolute;
            top: calc(100% - 35%);
            right: 0;
            display: grid;
            grid-template-columns: 1fr;
            grid-auto-flow: row;
            gap: 1rem;
            z-index: 100;

            .camera-capture-btn,
            .camera-cancel-btn {
                width: 4rem;
                height: 4rem;
                border-radius: 50%;
                border: 3px solid rgba(255, 255, 255, 0.9);
                /* background-color: rgba(0, 0, 0, 0.5); */
                color: #fff;
                font-size: 1.5rem;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: all 0.2s;
                pointer-events: auto;
            }

            .camera-capture-btn {
                /* background-color: rgba(255, 255, 255, 0.9); */
                color: #000;
            }

            .camera-capture-btn:hover {
                background-color: rgba(255, 255, 255, 1);
                transform: scale(1.1);
            }

            .camera-cancel-btn:hover {
                background-color: rgba(255, 255, 255, 0.7);
                transform: scale(1.1);
            }

        }
        
        
    }
    
}




