/* ===== Photo : cadre adapté + plein écran ===== */
/* le cadre s'adapte tout seul au format de l'image (--r est calculé par lightbox.js) */
.portrait{--cap:min(80vh,720px);width:min(100%,calc(var(--cap)*var(--r,.75)));height:auto;aspect-ratio:var(--r,auto);cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:100;display:none;place-items:center;background:rgba(5,6,15,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out}
.lb.open{display:grid}
.lb img{max-width:92vw;max-height:92vh;width:auto;height:auto;border-radius:12px;object-fit:contain;user-select:none}
.lb-x{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);cursor:pointer;transition:background .25s,transform .35s var(--ease)}
.lb-x::before,.lb-x::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;margin:-1px 0 0 -9px;background:#fff;border-radius:2px;transform:rotate(45deg)}
.lb-x::after{transform:rotate(-45deg)}
.lb-x:hover{background:var(--blue);transform:rotate(90deg)}