/*
 * GalleryFP Component for Joomla! 5.x / 6.x
 * Version 6.1.3
 * Creation date: Septembre 2026
 * Author: Fabrice4821 - https://creation-web.pro/
 * Author email: contact@creation-web.pro
 * License GNU/GPL
 */
/*
 * GalleryFP Component for Joomla! 5.x / 6.x
 * Version 6.1.3
 * Creation date: Septembre 2026
 * Author: Fabrice4821 - https://creation-web.pro/
 * Author email: contact@creation-web.pro
 * License GNU/GPL
 */
/*
* Module GalleryFP pour Joomla! 6.x
* Version 6.0.0
* Creation date: Août 2026
* Author: Fabrice4821 - https://creation-web.pro/
* Author email: support@creation-web.pro
* License GNU/GPL
*/
/* GalleryFP - thème Slide */
.galleryfp-slide {
    display: grid;
    row-gap: var(--galleryfp-slide-spacing, 0px);
    overflow: hidden;
    width: 100%;
}

.galleryfp-slide__viewport {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.galleryfp-slide__track {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    will-change: transform;
}

.galleryfp-slide__set {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: var(--galleryfp-slide-spacing, 0px);
    padding-right: var(--galleryfp-slide-spacing, 0px);
}

.galleryfp-slide__item {
    display: block;
    flex: 0 0 auto;
    line-height: 0;
    margin: 0;
    padding: 0;
    text-decoration: none;
}

.galleryfp-slide__item img {
    display: block;
    height: var(--galleryfp-slide-height, 180px);
    margin: 0;
    max-width: none;
    object-fit: contain;
    padding: 0;
    width: auto;
}

.galleryfp-slide__viewport.is-ready[data-direction="left"] .galleryfp-slide__track {
    animation: galleryfp-slide-left var(--galleryfp-slide-duration) linear infinite;
}

.galleryfp-slide__viewport.is-ready[data-direction="right"] .galleryfp-slide__track {
    animation: galleryfp-slide-right var(--galleryfp-slide-duration) linear infinite;
}

@keyframes galleryfp-slide-left {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(calc(-1 * var(--galleryfp-slide-distance)), 0, 0); }
}

@keyframes galleryfp-slide-right {
    from { transform: translate3d(calc(-1 * var(--galleryfp-slide-distance)), 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .galleryfp-slide__viewport.is-ready .galleryfp-slide__track {
        animation-play-state: paused;
    }
}

/* Lightbox autonome du thème Slide. */
.galleryfp-slide-lightbox {
    align-items: center;
    background: rgba(0, 0, 0, .9);
    inset: 0;
    display: none;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 100000;
}

.galleryfp-slide-lightbox.is-open { display: flex; }
.galleryfp-slide-lightbox__content { max-height: 94vh; max-width: 94vw; position: relative; text-align: center; }
.galleryfp-slide-lightbox__image { display: block; margin: 0 auto; max-height: 84vh; max-width: 90vw; }
.galleryfp-slide-lightbox__caption { color: #fff; font-size: 1rem; margin-top: 10px; }
.galleryfp-slide-lightbox__close,
.galleryfp-slide-lightbox__prev,
.galleryfp-slide-lightbox__next {
    background: transparent;
    border: 0;
    color: #fff;
    cursor: pointer;
    position: fixed;
}
.galleryfp-slide-lightbox__close { font-size: 40px; right: 18px; top: 10px; }
.galleryfp-slide-lightbox__prev,
.galleryfp-slide-lightbox__next { font-size: 52px; top: 50%; transform: translateY(-50%); }
.galleryfp-slide-lightbox__prev { left: 14px; }
.galleryfp-slide-lightbox__next { right: 14px; }
