.elementor-widget-southpaw-portfolio-gallery { width: 100%; min-width: 0; }
.spg-portfolio {
    --spg-tile-height: 373.75px;
    --spg-odd-color: #d9d9d9;
    --spg-even-color: #fff;
}
.spg-portfolio__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}
.spg-portfolio .spg-portfolio__tile {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: var(--spg-tile-height);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--spg-even-color);
    cursor: zoom-in;
}
.spg-portfolio .spg-portfolio__tile:nth-child(odd) { background: var(--spg-odd-color); }
.spg-portfolio .spg-portfolio__tile img {
    display: block;
    flex: 0 1 auto;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.spg-portfolio .spg-portfolio__tile:focus-visible { outline: 3px solid #ff6100; outline-offset: -3px; }
@media (max-width: 1440px) {
    .spg-portfolio { --spg-tile-height: 300px; }
}
@media (max-width: 767px) {
    .spg-portfolio__grid { grid-template-columns: minmax(0, 1fr); }
}
