
.tsr-grid {
    display: flex;
    flex-direction: row;
    width: 100%;
    min-height: 600px;
    overflow: hidden;
}

.tsr-grid-column {
    position: relative;
    flex: 1;
    min-height: 400px;
    overflow: hidden;
    transition: flex 0.5s ease-in-out;
    cursor: pointer;
}

.tsr-grid-column:hover,
.tsr-grid-column.active {
    flex: 6;
}

.tsr-grid-background {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.tsr-grid-background img,
.tsr-grid-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.5s ease-in-out;
}

.tsr-grid-video {
    opacity: 0;
}

.tsr-grid-column:hover .tsr-grid-video,
.tsr-grid-column.active .tsr-grid-video {
    opacity: 1;
}

.tsr-grid-content {
    position: relative;
    padding: 2rem;
    color: white;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    background: rgba(0, 0, 0, 0.7);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.tsr-grid-column.active .tsr-grid-content {
    opacity: 1;
}

.tsr-grid-link {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background: white;
    color: black;
    text-decoration: none;
    margin-top: 1rem;
    transition: background-color 0.3s;
}

.tsr-grid-link:hover {
    background: rgba(255, 255, 255, 0.9);
}

@media (max-width: 768px) {
    .tsr-grid {
        flex-direction: column;
    }
    
    .tsr-grid-column {
        min-height: 300px;
    }
}
