.lsw-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lsw-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #6e6e6e;
}

.lsw-btn svg {
    transition: fill 0.3s ease;
}

.lsw-btn.active {
    color: #000;
}

/* Override Rules for Target Loop Grid */
.lsw-grid-col-4 {
    grid-template-columns: repeat(4, 1fr) !important;
}
.lsw-grid-col-3 {
    grid-template-columns: repeat(3, 1fr) !important;
}

.lsw-grid-col-2 {
    grid-template-columns: repeat(2, 1fr) !important;
}

.lsw-grid-list {
    grid-template-columns: 1fr !important;
}

/* Loop Item Flex Layout for List View */
.lsw-grid-list .e-loop-item {
    width: 100% !important;
}

.lsw-grid-list .e-loop-item > .e-con,
.lsw-grid-list .e-loop-item > .e-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 24px !important;
    text-align: left !important;
}

/* Image container sizing inside List View */
.lsw-grid-list .e-loop-item .elementor-widget-featured-image,
.lsw-grid-list .e-loop-item .elementor-widget-image {
    width: 200px !important;
    max-width: 250px !important;
    flex-shrink: 0 !important;
}

/* Allow other elements to stack vertically or adjust alignment */
.lsw-grid-list .e-loop-item .elementor-widget:not(.elementor-widget-featured-image):not(.elementor-widget-image) {
    width: auto !important;
}
