* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #f0f0f0;
    overflow: hidden;
}

.container-wrapper {
    width: 100%;
    height: 100vh; 
    padding: 0px; 
    display: flex;
    flex-direction: row; 
    justify-content: center; 
    align-items: center;
    touch-action: none; 
    
    background-image: url('graphics/bgh75.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    /* VERANDER DIT: hiermee anker je de linkerkant van de foto muurvast aan de linkerkant van je scherm */
    background-position: left center; 
}

.sidebar-spacer {
    width: 40vh; /* Schaalt mee met de hoogte, perfect in verhouding */
    height: 100%;
    flex-shrink: 0;
    pointer-events: none;
    background: transparent; /* Forceert de spacer om 100% doorzichtig te zijn */
}

.list-container {
    position: relative;
    z-index: 2; /* Zorgt dat de fotolijst en canvassen BOVENOP de achtergrond liggen */
    height: 100vh; /* Claimt de volledige hoogte van het telefoonscherm */
    aspect-ratio: 1366 / 990; /* Bewaakt de vorm van de fotolijst als een blok beton */
    transform: rotate(-0.75deg);
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: block; 
    background: transparent; /* Volledig transparant zodat de wrapper-afbeelding erachter ligt */
}

#mainCanvas {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75%;
    aspect-ratio: 16 / 10; 
    z-index: 1; 
    pointer-events: none;
}

#topCanvas {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    aspect-ratio: 1366 / 990; 
    z-index: 3; 
    pointer-events: auto;
}


#canvasInputWrapper {
    position: absolute;
    display: none; 
    opacity: 0;   
    transition: opacity 0.3s ease;
    width: 40%; 
    pointer-events: auto;
    z-index: 10;
    will-change: left, top, transform;
}

#naamInput {
    width: 100%;
    height: 100%;
    border: none;
    background: transparent;
    outline: none;
    font-family: 'Archivo Black', sans-serif;
    color: #b84000;
    pointer-events: auto !important;
    cursor: text !important;
    user-select: text !important;
    text-align: center;
    padding: 0;
    margin-top: -1cqh;
}

#naamInput::placeholder {
    color: #b87f00; 
    opacity: 0.4;   
}

#rotate-screen-overlay {
    display: none;
}

@media (orientation: portrait) {
    
    .container-wrapper {
        position: fixed;
        top: 50%;
        left: 50%;
        /* We flippen de hele layout 90 graden om de landscape-stand te eisen */
        transform: translate(-50%, -50%) rotate(90deg);
        
        /* Omdat de boel 90 graden gedraaid is, draaien we breedte en hoogte om! */
        width: 100vh !important;
        height: 100vw !important;
    }

    .sidebar-spacer {
        /* vh wordt vw vanwege de rotatie van de wrapper */
        width: 40vw !important; 
        height: 100%;
    }

    .list-container {
        /* De fotolijst pakt nu de volledige breedte van het fysieke scherm */
        height: 100vw !important; 
    }
}