.wgs-gallery,
.wgs-gallery *,
.wgs-lightbox,
.wgs-lightbox * { box-sizing: border-box !important; }

/* ══ GALERIE ══ */
.wgs-gallery {
    display: flex !important; gap: 10px !important;
    width: 100% !important; align-items: flex-start !important;
    margin: 0 !important; padding: 0 !important;
    border: none !important; background: none !important; max-width: 100% !important;
}

/* ── Thumbs ── */
.wgs-gallery__thumbs {
    width: 72px !important;
    padding: 0 !important; margin: 0 !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* Contenu en bas */
.wgs-gallery__thumbs.is-overflowing {
    -webkit-mask-image: linear-gradient(to bottom, black calc(100% - 24px), transparent 100%) !important;
    mask-image: linear-gradient(to bottom, black calc(100% - 24px), transparent 100%) !important;
}

.wgs-gallery__thumbs::-webkit-scrollbar { display: none !important; }

.wgs-gallery--single:not(.wgs-gallery--var) .wgs-gallery__thumbs { display: none !important; }

.wgs-gallery__thumb--var { display: none !important; }
.wgs-gallery--var .wgs-gallery__thumb--var { display: block !important; }

.wgs-gallery__thumb {
    width: 72px !important; height: 72px !important;
    border-radius: 8px !important; overflow: hidden !important;
    cursor: pointer !important; border: 3px solid transparent !important;
    transition: border-color .2s !important; margin-bottom: 6px !important;
    background: none !important;
}
.wgs-gallery__thumb:last-child { margin-bottom: 0 !important; }
.wgs-gallery__thumb.is-active,
.wgs-gallery__thumb:hover { border-color: var(--wgs-color) !important; }
.wgs-gallery__thumb img,
.wgs-gallery__thumb picture img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    filter: grayscale(15%) brightness(.82) !important;
    transition: filter .2s !important;
    margin: 0 !important; padding: 0 !important; border: none !important;
    border-radius: 0 !important; box-shadow: none !important; max-width: none !important;
}
.wgs-gallery__thumb.is-active img,
.wgs-gallery__thumb.is-active picture img,
.wgs-gallery__thumb:hover img,
.wgs-gallery__thumb:hover picture img { filter: none !important; }

/* ── Main ── */
.wgs-gallery__main {
    flex: 1 !important;
    position: relative !important;
    display: grid !important;
    min-width: 0 !important; padding: 0 !important; margin: 0 !important;
}

/* ── Slides ── */
.wgs-gallery__slide--var { opacity: 0 !important; pointer-events: none !important; }

.wgs-gallery__slide {
    grid-area: 1 / 1 !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.wgs-gallery__slide.is-active {
    opacity: 1 !important;
    pointer-events: auto !important;
}

.wgs-gallery__slide img,
.wgs-gallery__slide picture img {
    width: 100% !important; height: 100% !important;
    object-fit: contain !important; display: block !important;
    border-radius: 8px !important; background: transparent !important;
    max-width: none !important; box-shadow: none !important;
    padding: 0 !important; margin: 0 !important; border: none !important;
}
.wgs-zoomable { cursor: zoom-in !important; }

/* ── Flèches galerie ── */
.wgs-gallery__arrow {
    position: absolute !important; top: 50% !important;
    transform: translateY(-50%) !important;
    width: 8% !important; aspect-ratio: 1 / 1 !important;
    background-color: rgba(0,0,0,.55) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 60% !important;
    border: none !important; border-radius: 0 !important;
    cursor: pointer !important; z-index: 2 !important;
    transition: background-color .2s !important;
    padding: 0 !important; box-shadow: none !important;
}
.wgs-gallery__arrow--prev {
    left: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E") !important;
    border-radius: 0 4px 4px 0 !important;
}
.wgs-gallery__arrow--next {
    right: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") !important;
    border-radius: 4px 0 0 4px !important;
}
.wgs-gallery__arrow:hover { background-color: rgba(0,0,0,.70) !important; }
.wgs-gallery__arrow::before { display: none !important; }

.wgs-gallery--single:not(.wgs-gallery--var) .wgs-gallery__arrow { display: none !important; }

/* ── Dots — superposés sur la photo ── */
.wgs-gallery__dots {
    position: absolute !important;
    bottom: 10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}
.wgs-gallery--single:not(.wgs-gallery--var) .wgs-gallery__dots { display: none !important; }

.wgs-gallery__dot {
    width: 10px !important; height: 10px !important;
    border-radius: 50% !important; background: rgba(0,0,0,.35) !important;
    border: none !important; cursor: pointer !important;
    padding: 0 !important; flex-shrink: 0 !important;
    transition: background .2s, transform .2s !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.5) !important;
    pointer-events: auto !important;
}
.wgs-gallery__dot.is-active {
    background: var(--wgs-color) !important;
    transform: scale(1.3) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.5) !important;
}
.wgs-gallery__dot:hover:not(.is-active) { background: rgba(255,255,255,.75) !important; }

/* ══ LIGHTBOX ══ */
.wgs-lightbox {
    display: none !important; position: fixed !important; inset: 0 !important;
    background: rgba(0,0,0,.72) !important;
    backdrop-filter: blur(4px) !important; -webkit-backdrop-filter: blur(4px) !important;
    z-index: 99999 !important;
}
.wgs-lightbox.is-open { display: flex !important; }

.wgs-lightbox__content {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    bottom: 88px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: default !important;
}
.wgs-lightbox--single:not(.wgs-lightbox--var) .wgs-lightbox__content {
    bottom: 0 !important;
}

.wgs-lightbox__img {
    max-width: 90vw !important;
    max-height: calc(100vh - 148px) !important;
    width: auto !important; height: auto !important;
    border-radius: 8px !important; object-fit: contain !important;
    display: block !important; opacity: 1 !important;
    transition: opacity .25s !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.6) !important;
    margin: 0 !important; padding: 0 !important; border: none !important;
}
.wgs-lightbox--single:not(.wgs-lightbox--var) .wgs-lightbox__img {
    max-height: calc(100vh - 60px) !important;
}
.wgs-lightbox__img.is-loading { opacity: 0 !important; }

/* Bouton fermer */
.wgs-lightbox__close {
    position: fixed !important; top: 12px !important; right: 12px !important;
    background-color: var(--wgs-color) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 16px 16px !important;
    border: none !important;
    width: 36px !important; height: 36px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    z-index: 4 !important;
    transition: background-color .2s !important;
    box-shadow: none !important; padding: 0 !important;
}
.wgs-lightbox__close:hover { background-color: var(--wgs-color-dark) !important; }

/* Flèches lightbox */
.wgs-lightbox__prev,
.wgs-lightbox__next {
    position: fixed !important;
    top: calc(50% - 44px) !important;
    transform: translateY(-50%) !important;
    width: 40px !important; height: 40px !important;
    background-color: var(--wgs-color) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 22px 22px !important;
    border: none !important;
    border-radius: 4px !important; cursor: pointer !important;
    z-index: 4 !important;
    transition: background-color .2s !important;
    box-shadow: none !important; padding: 0 !important;
}
.wgs-lightbox__prev {
    left: 12px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E") !important;
}
.wgs-lightbox__next {
    right: 12px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") !important;
}
.wgs-lightbox__prev:hover,
.wgs-lightbox__next:hover { background-color: var(--wgs-color-dark) !important; }
.wgs-lightbox__prev::before,
.wgs-lightbox__next::before { display: none !important; }

.wgs-lightbox--single:not(.wgs-lightbox--var) .wgs-lightbox__prev,
.wgs-lightbox--single:not(.wgs-lightbox--var) .wgs-lightbox__next { display: none !important; }
.wgs-lightbox--single:not(.wgs-lightbox--var) .wgs-lightbox__strip { display: none !important; }

/* Strip */
.wgs-lightbox__strip {
    position: fixed !important; bottom: 0 !important;
    left: 0 !important; right: 0 !important;
    background: rgba(0,0,0,.52) !important; overflow: hidden !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    height: 88px !important;
    z-index: 4 !important; cursor: default !important;
}

.wgs-lightbox__strip.is-scrolling {
    justify-content: flex-start !important;
}

.wgs-lightbox__strip-track {
    display: flex !important; gap: 8px !important;
    transition: transform .35s ease !important; will-change: transform !important;
}
.wgs-lightbox__strip-thumb {
    width: 64px !important; height: 64px !important;
    border-radius: 8px !important; overflow: hidden !important;
    cursor: pointer !important; border: 3px solid transparent !important;
    flex-shrink: 0 !important; transition: border-color .2s !important;
}
.wgs-lightbox .wgs-lightbox__strip .wgs-lightbox__strip-thumb picture img,
.wgs-lightbox .wgs-lightbox__strip .wgs-lightbox__strip-thumb img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important; display: block !important;
    filter: grayscale(40%) brightness(.65) !important;
    transition: filter .2s !important;
    margin: 0 !important; padding: 0 !important;
    border: none !important; box-shadow: none !important; max-width: none !important;
    border-radius: 0 !important;
}
.wgs-lightbox__strip-thumb.is-active               { border-color: var(--wgs-color) !important; }
.wgs-lightbox__strip-thumb.is-active img,
.wgs-lightbox__strip-thumb.is-active picture img,
.wgs-lightbox__strip-thumb:hover img,
.wgs-lightbox__strip-thumb:hover picture img       { filter: none !important; }

.wgs-lightbox:not(.is-open) { pointer-events: none !important; }
.wgs-lightbox.is-open { touch-action: none !important; }

/* ══ RESPONSIVE ══ */
@media (max-width: 767px) {
    .wgs-gallery__thumbs { display: none !important; }

    /* Flèches galerie plus grandes sur mobile */
    .wgs-gallery__arrow {
        width: 40px !important;
        aspect-ratio: 1 / 1 !important;
    }

    .wgs-lightbox__strip-thumb { width: 48px !important; height: 48px !important; }
    .wgs-lightbox__strip       { height: 72px !important; }
    .wgs-lightbox__content     { bottom: 72px !important; }
    .wgs-lightbox--single:not(.wgs-lightbox--var) .wgs-lightbox__content { bottom: 0 !important; }
    .wgs-lightbox__img         { max-height: calc(100vh - 132px) !important; }
    .wgs-lightbox--single:not(.wgs-lightbox--var) .wgs-lightbox__img { max-height: calc(100vh - 60px) !important; }

    .wgs-lightbox__prev { left: 6px !important; }
    .wgs-lightbox__next { right: 6px !important; }
}