.designs-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: var(--space-sm);
}

.design-item {
    position: relative;
}

.design-item > img {
    width: 100%;
    border: 1px solid rgba(0, 0, 0, .4);
}

.design-overlay{
    display: flex;
    gap: var(--space-sm);
    margin-top: var(--space-xs);
}

@media (pointer: fine){
    .design-overlay {
        margin-top: unset;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: rgba(0, 0, 0, .7);
        opacity: 0;
        transition: opacity .3s;
    }
    .design-item:hover .design-overlay{
        opacity: 1;
    }
}

#lightbox {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .7);
    overflow: auto;
    outline: none;
    transition: visibility 1s, opacity 1s;
}

#lightbox.active{
    visibility: visible;
    opacity: 1;
}

#lightbox .controls {
    position: fixed;
    top: 14px;
    right: clamp(14px, 1.53vw + 9.105px, 30px);
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    column-gap: var(--space-xs);
}

#lightbox .controls button {
    background-color: rgba(0, 0, 0, .2);
    color: white;
    cursor: pointer;
    padding: .6em 1em;
    border: 1px solid hsl(0, 0%, 78%);
}

#lightbox-img-wrapper{
    display: inline-block;
}

#lightbox-img{
    visibility: hidden;
    opacity: 0;
    transition: transform .3s, visibility 1s, opacity 1s;
    transform-origin: top left;
}

#lightbox.active #lightbox-img{
    visibility: visible;
    opacity: 1;
}

@media screen and (max-width: 479px){
    .designs-list{
        grid-template-columns: 1fr;
    }
}