.visuals-block {
    display: grid;
    grid-template-columns: repeat(16, 1fr);
    column-gap: var(--grid-gutter);
    padding: 0 var(--grid-margin);
    margin: 64px 0;
}

.visuals-container {
    grid-column: 3 / 15;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 4px;
    row-gap: 32px;
}

.room-card {
    display: flex;
    flex-direction: column;
    row-gap: 8px;
}

.room-card-cover {
    overflow: hidden;
    aspect-ratio: 4 / 5;
}

.room-card img,
.room-card video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transition: transform 0.5s ease-in-out;
}

.room-card:hover img,
.room-card:hover video {
    transform: scale(1.1);
}

.room-card:hover {
    color: var(--red);
}

.room-card-title {
    transition: color 0.4s ease;
}


@media screen and (min-width: 1024px) and (max-width: 1439px) {
    .visuals-container {
        grid-column: 2 / 16;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .visuals-container {
        grid-column: 2 / 16;
    }
}

@media screen and (max-width: 767px) {
    .visuals-container {
        grid-column: 1 / 17;
        grid-template-columns: 1fr;
    }

    .room-card:last-child:nth-child(odd) {
        width: 100%;
    }
}

.footer {
    margin-top: 112px;
}