

.gallery{
    width:100%;
    /*max-width:420px;*/
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,.08);
}

/* ?NH L?N */

.main-slider{
    position:relative;
    overflow:hidden;
}

.main-track{
    display:flex;
    transition:transform .35s ease;
    will-change:transform;
}

.slide{
    min-width:100%;
    position:relative;
}

.slide img{
    width:100%;
    display:block;
    object-fit:cover;
    /*aspect-ratio:4/5;*/
    user-select:none;
    -webkit-user-drag:none;
}

/* TEXT */

.caption{
    position:absolute;
    left:50%;
    bottom:25px;
    transform:translateX(-50%);
    background:red;
    color:#fff;
    padding:10px 18px;
    border-radius:999px;
    text-align:center;
    font-weight:700;
    box-shadow:0 4px 12px rgba(0,0,0,.2);
}

.caption span{
    display:block;
    font-size:14px;
    margin-top:2px;
}

/* NÚT */

.nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    font-size:22px;
    cursor:pointer;
    z-index:5;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.prev{
    left:10px;
}

.next{
    right:10px;
}

/* THUMB */

.thumbs{
    display:flex;
    gap:10px;
    padding:12px;
    overflow-x:auto;
    scrollbar-width:none;
}

.thumbs::-webkit-scrollbar{
    display:none;
}

.thumb{
    flex:0 0 80px;
    height:80px;
    border-radius:12px;
    overflow:hidden;
    cursor:pointer;
    border:3px solid transparent;
    transition:.25s;
}

.thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.thumb.active{
    border-color:red;
    transform:scale(1.05);
}

/* MOBILE */

@media(max-width:480px){

    .thumb{
        flex:0 0 70px;
        height:70px;
    }

    .caption{
        padding:8px 15px;
        font-size:18px;
    }

    .caption span{
        font-size:13px;
    }

    .nav{
        width:35px;
        height:35px;
    }

}