.messaging-image-viewer {
    width: 100vw;
    max-width: none;
    height: 100vh;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(3, 8, 20, .97);
    color: #fff;
}
.messaging-image-viewer::backdrop { background: rgba(3, 8, 20, .88); }
.messaging-image-viewer-shell { position: relative; width: 100%; height: 100%; overflow: hidden; }
.messaging-image-viewer-toolbar {
    position: absolute; inset: 0 0 auto; z-index: 4; min-height: 62px; padding: .65rem 1rem;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    background: linear-gradient(180deg, rgba(3, 8, 20, .9), rgba(3, 8, 20, 0));
}
.messaging-image-viewer-actions { display: flex; align-items: center; gap: .45rem; }
.messaging-image-viewer-actions button,
.messaging-image-viewer-actions a {
    min-width: 42px; min-height: 42px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px;
    display: inline-flex; align-items: center; justify-content: center; padding: .4rem .75rem;
    background: rgba(15,23,42,.72); color: #fff; text-decoration: none; cursor: pointer;
}
.messaging-image-viewer-actions button:hover,
.messaging-image-viewer-actions a:hover { background: rgba(51,65,85,.92); }
.messaging-image-viewer-stage {
    position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden;
    touch-action: none; cursor: default; user-select: none;
}
.messaging-image-viewer-stage.is-zoomed { cursor: grab; }
.messaging-image-viewer-stage.is-dragging { cursor: grabbing; }
.messaging-image-viewer-stage img {
    max-width: 92vw; max-height: 88vh; object-fit: contain; transform-origin: center center;
    transition: transform 80ms linear; pointer-events: none; -webkit-user-drag: none;
}
.messaging-image-viewer-stage.is-dragging img { transition: none; }
.messaging-image-viewer-nav {
    position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 52px; height: 72px;
    border: 0; border-radius: .8rem; background: rgba(15,23,42,.62); color: #fff; font-size: 2.8rem;
}
.messaging-image-viewer-nav.is-prev { left: 1rem; }
.messaging-image-viewer-nav.is-next { right: 1rem; }
.messaging-image-viewer-nav:hover { background: rgba(51,65,85,.92); }
.messaging-image-viewer-counter { font-weight: 700; text-shadow: 0 1px 4px #000; }
html.messaging-image-viewer-open { overflow: hidden; }
@media (max-width: 700px) {
    .messaging-image-viewer-toolbar { align-items: flex-start; }
    .messaging-image-viewer-actions { flex-wrap: wrap; justify-content: flex-end; }
    .messaging-image-viewer-actions a { font-size: 0; width: 42px; padding: 0; }
    .messaging-image-viewer-actions a::before { content: '⇩'; font-size: 1.2rem; }
    .messaging-image-viewer-nav { width: 42px; height: 58px; }
    .messaging-image-viewer-nav.is-prev { left: .35rem; }
    .messaging-image-viewer-nav.is-next { right: .35rem; }
}

/* ClubOS 8.14.0-B.3.2.4 — visionneuse médias commune. */
.messaging-image-viewer {
    z-index: 2147483000;
    overscroll-behavior: contain;
}
.messaging-image-viewer-toolbar {
    padding-top: max(.65rem, env(safe-area-inset-top));
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
}
.messaging-image-viewer-stage:focus-visible {
    outline: 2px solid rgba(255,255,255,.75);
    outline-offset: -4px;
}
.messaging-image-viewer-nav[hidden] { display: none !important; }
.post-display-media-image,
.blog-modal-image,
.post-display-reading-gallery-item img {
    cursor: zoom-in;
}
@media (max-width: 700px) {
    .messaging-image-viewer-stage img {
        max-width: 100vw;
        max-height: 100dvh;
    }
    .messaging-image-viewer-toolbar {
        min-height: 58px;
        gap: .45rem;
    }
    .messaging-image-viewer-actions {
        flex-wrap: nowrap;
        gap: .3rem;
    }
    .messaging-image-viewer-actions button,
    .messaging-image-viewer-actions a {
        min-width: 40px;
        min-height: 40px;
        padding: .3rem .55rem;
    }
}
@media (max-height: 520px) and (orientation: landscape) {
    .messaging-image-viewer-toolbar {
        min-height: 48px;
        padding-top: max(.3rem, env(safe-area-inset-top));
        padding-bottom: .3rem;
    }
    .messaging-image-viewer-actions button,
    .messaging-image-viewer-actions a {
        min-width: 38px;
        min-height: 38px;
    }
    .messaging-image-viewer-stage img {
        max-height: 100dvh;
    }
}


/* ClubOS 8.14.0-B.3.2.5 — couche interactive réellement prioritaire. */
.messaging-image-viewer,
.messaging-image-viewer[open],
.messaging-image-viewer-shell {
    pointer-events: auto !important;
}
.messaging-image-viewer-toolbar {
    z-index: 30;
    pointer-events: none;
}
.messaging-image-viewer-counter,
.messaging-image-viewer-actions,
.messaging-image-viewer-actions > * {
    pointer-events: auto;
}
.messaging-image-viewer-stage {
    z-index: 10;
    pointer-events: auto !important;
}
.messaging-image-viewer-nav {
    z-index: 20;
    pointer-events: auto;
}
