/* Visionneuse plein écran (galerie client + portfolio public) */
.lb { position: fixed; inset: 0; z-index: 2000; background: rgba(15,15,15,.96); display: none; }
.lb.open { display: block; }
.lb-stage { position: absolute; inset: 0; overflow: hidden; touch-action: none; user-select: none; }
.lb-img { position: absolute; top: 50%; left: 50%; max-width: 92vw; max-height: 86vh;
    transform-origin: center center; will-change: transform; -webkit-user-drag: none; user-select: none; pointer-events: none; }
.lb-btn { position: absolute; z-index: 2; background: rgba(255,255,255,.12); color: #fff; border: none;
    width: 46px; height: 46px; border-radius: 50%; font-size: 22px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; transition: background .2s; }
.lb-btn:hover { background: rgba(255,255,255,.28); }
.lb-close { top: calc(14px + env(safe-area-inset-top)); right: 14px; }
.lb-prev { left: 14px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 14px; top: 50%; transform: translateY(-50%); }
.lb-top { position: absolute; top: calc(14px + env(safe-area-inset-top)); left: 14px; z-index: 2;
    display: flex; align-items: center; gap: .75rem; color: #fff; font-size: var(--text-sm); }
.lb-pick { position: absolute; bottom: calc(18px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%);
    z-index: 2; background: #fff; color: var(--secondary); border: none; border-radius: 999px;
    padding: .6rem 1.4rem; font-size: var(--text-sm); cursor: pointer; }
.lb-pick.on { background: var(--accent); color: #fff; }
@media (max-width: 600px) { .lb-prev, .lb-next { display: none; } }
