/*
|--------------------------------------------------------------------------
| FITUI V2
| Gallery Lightbox
|--------------------------------------------------------------------------
*/

.fit-lightbox{

    position:fixed;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    background:rgba(4,6,9,.82);

    backdrop-filter:var(--fit-blur-strong);
    -webkit-backdrop-filter:var(--fit-blur-strong);

    transition:
        opacity var(--fit-duration) var(--fit-ease),
        visibility var(--fit-duration) var(--fit-ease);

    z-index:var(--fit-z-modal);

}

.fit-lightbox.is-open{

    opacity:1;

    visibility:visible;

}

.fit-lightbox__backdrop{

    position:absolute;

    inset:0;

}

.fit-lightbox__dialog{

    position:relative;

    width:min(94vw,var(--fit-container-wide));

    height:min(90vh,960px);

    display:flex;

    align-items:center;

    justify-content:center;

}

.fit-lightbox__image{

    max-width:100%;

    max-height:100%;

    object-fit:contain;

    border-radius:var(--fit-radius-lg);

    border:1px solid var(--fit-border);

    background:var(--fit-surface);

    box-shadow:
        var(--fit-shadow-panel),
        var(--fit-shadow-inset);

}

/*
|--------------------------------------------------------------------------
| Close
|--------------------------------------------------------------------------
*/

.fit-lightbox__close{

    position:absolute;

    top:var(--fit-space-6);

    right:var(--fit-space-6);

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid var(--fit-border);

    border-radius:50%;

    background:var(--fit-surface-glass);

    color:var(--fit-text);

    backdrop-filter:var(--fit-blur-panel);

    -webkit-backdrop-filter:var(--fit-blur-panel);

    box-shadow:
        var(--fit-shadow-card),
        var(--fit-shadow-inset);

    cursor:pointer;

    transition:all var(--fit-duration) var(--fit-ease);

}

.fit-lightbox__close:hover{

    border-color:var(--fit-border-gold);

    box-shadow:
        var(--fit-shadow-card),
        var(--fit-glow-gold);

    transform:translateY(-2px);

}

/*
|--------------------------------------------------------------------------
| Navigation
|--------------------------------------------------------------------------
*/

.fit-lightbox__prev,
.fit-lightbox__next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:60px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid var(--fit-border);

    border-radius:50%;

    background:var(--fit-surface-glass);

    color:var(--fit-text);

    backdrop-filter:var(--fit-blur-panel);

    -webkit-backdrop-filter:var(--fit-blur-panel);

    box-shadow:
        var(--fit-shadow-card),
        var(--fit-shadow-inset);

    cursor:pointer;

    transition:all var(--fit-duration) var(--fit-ease);

}

.fit-lightbox__prev{

    left:-24px;

}

.fit-lightbox__next{

    right:-24px;

}

.fit-lightbox__prev:hover,
.fit-lightbox__next:hover{

    border-color:var(--fit-border-gold);

    box-shadow:
        var(--fit-shadow-card),
        var(--fit-glow-gold);

    transform:translateY(-50%) scale(1.04);

}

/*
|--------------------------------------------------------------------------
| Counter
|--------------------------------------------------------------------------
*/

.fit-lightbox__counter{

    position:absolute;

    bottom:-64px;

    left:50%;

    transform:translateX(-50%);

    padding:10px 18px;

    border:1px solid var(--fit-border);

    border-radius:var(--fit-radius-pill);

    background:var(--fit-surface-glass);

    color:var(--fit-text-soft);

    font-size:var(--fit-text-sm);

    font-weight:var(--fit-weight-bold);

    backdrop-filter:var(--fit-blur-panel);

    -webkit-backdrop-filter:var(--fit-blur-panel);

    box-shadow:
        var(--fit-shadow-card),
        var(--fit-shadow-inset);

}

/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media (max-width:900px){

    .fit-lightbox__dialog{

        width:96vw;

        height:88vh;

    }

    .fit-lightbox__prev{

        left:16px;

    }

    .fit-lightbox__next{

        right:16px;

    }

    .fit-lightbox__close{

        top:16px;

        right:16px;

    }

}

@media (max-width:640px){

    .fit-lightbox__prev,
    .fit-lightbox__next{

        width:48px;

        height:48px;

        font-size:30px;

    }

}