
/* =========================
   MAIN IMAGE (LINE 1)
========================= */
.group-main-image {
    width: 100%;
   /* height: 320px;*/
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
}

.group-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.group-main-image:hover img {
    transform: scale(1.05);
}

/* =========================
   THUMBNAILS (LINE 2)
========================= */
.group-thumb {
    height: 140px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.06);
    cursor: pointer;
    position: relative;
}

.group-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.group-thumb:hover img {
    transform: scale(1.08);
}

/* =========================
   OVERLAY +X
========================= */
.overlay-more {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    backdrop-filter: blur(4px);
}

/* =========================
   PARALLAX FIX (IMPORTANT)
========================= */
.parallax-wrapper {
    height: 280px;
    overflow: hidden;
    border-radius: 24px;
    position: relative;
}

.parallax-image {
    height: 120%;
    width: 100%;
    background-size: cover;
    background-position: center;

    will-change: transform;
    transform: translate3d(0,0,0);
}

/* =========================
   PORTFOLIO MAIN IMAGE (LEFT)
========================= */
/* IMPORTANT: assure la même hauteur */
.portfolio-main,
.portfolio-grid {
    height: 100%;
}

/* LEFT IMAGE */
.portfolio-main {
    position: relative;
    border-radius: 18px;
    overflow: hidden;

    /* prend toute la hauteur du parent flex */
    flex: 1;

    min-height: 100%;
    box-shadow: 0 15px 40px rgba(0,0,0,0.10);
}

.portfolio-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* RIGHT GRID */
.portfolio-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* rows equal height distribution */
.portfolio-row {
    flex: 1;
    display: flex;
    gap: 12px;
}

/* thumbs */
.portfolio-thumb {
    flex: 1;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}

.portfolio-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portfolio-main,
.portfolio-thumb {
    transition: transform .3s ease, box-shadow .3s ease;
}

/* =========================
   ZOOM ANIMATION (AIRBNB STYLE)
========================= */

.portfolio-thumb img,
.portfolio-main img {
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

/* zoom only image */
.portfolio-thumb:hover img,
.portfolio-main:hover img {
    transform: scale(1.08);
}

/* optional: slight shadow boost */
.portfolio-thumb:hover,
.portfolio-main:hover {
    box-shadow: 0 18px 45px rgba(0,0,0,0.18);
}

.portfolio-thumb::after,
.portfolio-main::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background 0.4s ease;
}

.portfolio-thumb:hover::after,
.portfolio-main:hover::after {
    background: rgba(0,0,0,0.08);
}

/* =========================
   RESPONSIVE
============================ */
@media (max-width: 991px) {

    .portfolio-main {
        min-height: 300px;
    }

    .portfolio-thumb {
        height: 130px;
    }

    .main-image-wrapper img{
            height: 300px;
        }

    .group-main-image {
        height: 220px;
    }

    .group-images-thumb {
        height: 100px;
    }
}