.sol-galeria-multimedia{
    padding:44px 0;
    background:#ffffff;
    overflow:hidden;
}

.sol-galeria-filtros{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:24px;
}

.sol-galeria-filtros button{
    height:38px;
    padding:0 16px;
    border:none;
    border-radius:999px;
    background:#f2f4f7;
    color:#101828;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    transition:.3s ease;
}

.sol-galeria-filtros button.active,
.sol-galeria-filtros button:hover{
    background:#FFD200;
}

.sol-galeria-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.sol-galeria-item{
    position:relative;
    height:260px;
    border-radius:24px;
    overflow:hidden;
    display:block;
    text-decoration:none;
    background:#101828;
    box-shadow:0 10px 24px rgba(16,24,40,.04);
    transition:.3s ease;
}

.sol-galeria-item:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 34px rgba(16,24,40,.08);
}

.sol-galeria-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.5s ease;
}

.sol-galeria-item:hover img{
    transform:scale(1.06);
}

.sol-galeria-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(16,24,40,.04) 0%,rgba(16,24,40,.78) 100%);
    padding:22px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}

.sol-galeria-overlay span{
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#FFD200;
    margin-bottom:8px;
}

.sol-galeria-overlay h3{
    font-size:17px;
    line-height:1.35;
    color:#fff;
    margin:0;
    font-weight:800;
}

.sol-play{
    position:absolute;
    top:18px;
    right:18px;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#FFD200;
    color:#101828;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    z-index:3;
}

.sol-galeria-more{
    margin-top:28px;
    display:flex;
    justify-content:center;
}

.sol-galeria-more button{
    height:44px;
    padding:0 22px;
    border:none;
    border-radius:999px;
    background:#101828;
    color:#fff;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    transition:.3s ease;
}

.sol-galeria-more button:hover{
    transform:translateY(-2px);
}

.sol-galeria-item.is-hidden,
.sol-galeria-item.extra-hidden{
    display:none;
}

.sol-galeria-item.extra-hidden.active{
    display:block;
}

@media(max-width:980px){
    .sol-galeria-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:640px){
    .sol-galeria-multimedia{
        padding:36px 0;
    }

    .sol-galeria-grid{
        grid-template-columns:1fr;
    }

    .sol-galeria-item{
        height:230px;
        border-radius:20px;
    }
}

/* Janela de visualização (imagem ampliada / vídeo) */
.sol-galeria-lightbox{position:fixed;inset:0;z-index:2000000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,12,20,.86)}
.sol-galeria-lightbox__inner{position:relative;width:100%;max-width:1000px;max-height:100%;display:flex;flex-direction:column;gap:14px}
.sol-galeria-lightbox__media{display:flex;justify-content:center;background:#000;border-radius:18px;overflow:hidden}
.sol-galeria-lightbox__media img{display:block;max-width:100%;max-height:72vh;object-fit:contain}
.sol-galeria-lightbox__media iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.sol-galeria-lightbox__caption{color:#fff}
.sol-galeria-lightbox__caption strong{font-size:17px}
.sol-galeria-lightbox__caption p{margin:6px 0 0;color:#d0d5dd;font-size:14px;line-height:1.6}
.sol-galeria-lightbox__close{position:absolute;top:-14px;right:-6px;width:38px;height:38px;border:0;border-radius:50%;background:#FFD200;color:#101828;font-size:24px;line-height:1;cursor:pointer;z-index:2}
@media(max-width:640px){.sol-galeria-lightbox__close{top:-18px;right:0}}
