/* Fancybox 3 compatible — self-contained, supports zoom/pan/touch */
body.fancybox-active{overflow:hidden}
.fancybox-container{display:none;position:fixed;inset:0;z-index:9999;overflow:hidden;touch-action:none}
.fancybox-container.fancybox-is-open{display:flex;align-items:center;justify-content:center}
.fancybox-bg{position:fixed;inset:0;background:rgba(0,0,0,.92);animation:fb-fadein .22s ease}
@keyframes fb-fadein{from{opacity:0}to{opacity:1}}
.fancybox-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}
.fancybox-image{display:block;max-width:95vw;max-height:90vh;object-fit:contain;border-radius:2px;box-shadow:0 8px 60px rgba(0,0,0,.7);user-select:none;-webkit-user-drag:none;transform-origin:center center;will-change:transform;opacity:0;transition:opacity .25s ease}
.fancybox-image.fancybox-image--loaded{opacity:1}
.fancybox-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}
.fancybox-loader-spin{width:38px;height:38px;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;border-radius:50%;animation:fb-spin .65s linear infinite}
@keyframes fb-spin{to{transform:rotate(360deg)}}
.fancybox-caption{position:fixed;bottom:0;left:0;right:0;z-index:2;padding:14px 80px 20px;text-align:center;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,transparent 100%);color:#fff;font-size:.88rem;font-family:'Segoe UI',Arial,sans-serif;pointer-events:none;min-height:52px}
.fancybox-button{position:fixed;z-index:3;width:44px;height:44px;border:none;border-radius:50%;background:rgba(20,20,20,.55);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s;padding:0}
.fancybox-button:hover{background:rgba(20,20,20,.9)}
/* Close & arrow buttons use filled paths; zoom & fullscreen use stroked icons */
.fancybox-button svg{width:22px;height:22px;pointer-events:none;fill:#fff}
.fancybox-button--zoom_in svg,.fancybox-button--zoom_out svg,.fancybox-button--fullscreen svg{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fancybox-button--close{top:12px;right:14px}
.fancybox-button--zoom_in{top:12px;right:66px}
.fancybox-button--zoom_out{top:12px;right:118px}
.fancybox-button--fullscreen{top:12px;right:170px}
.fancybox-button--arrow_left{left:14px;top:50%;transform:translateY(-50%)}
.fancybox-button--arrow_right{right:14px;top:50%;transform:translateY(-50%)}
/* Zoom-in cursor on all fancybox triggers */
a[data-fancybox]{cursor:zoom-in;display:block;position:relative}
a[data-fancybox]::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .2s;pointer-events:none}
a[data-fancybox]:hover::after{background:rgba(0,0,0,.1)}
@media(max-width:600px){.fancybox-button--arrow_left{left:6px}.fancybox-button--arrow_right{right:6px}.fancybox-button--close{top:8px;right:8px}.fancybox-button--zoom_in{top:8px;right:60px}.fancybox-button--zoom_out{display:none}.fancybox-button--fullscreen{display:none}.fancybox-caption{padding:12px 60px 14px}.fancybox-image{max-width:100vw;max-height:85vh}}
