.image-container {
    margin: auto;
    position: relative;
    width: 90%;
    aspect-ratio: 40 / 25;
    border: 2px solid black;
}

.image-container img {
    width: 100%;
    height: 100%;
    display: block;
}

.grid-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(40, 1fr);
    grid-template-rows: repeat(25, 1fr);
}

.grid-overlay div {
    background-color: rgba(233,233,233,0.85);
    border: 2px solid rgba(11, 11, 11, 0.1);
    cursor: pointer;
}

.grid-overlay div.cell-reserved {
    background-color: orange;
}

.grid-overlay div.cell-purchased {
    opacity: 0;
    border: none;
}

.grid-overlay div:hover {
    background-color: rgba(255, 255, 255, 0);
}