@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-zoom-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.lightbox-overlay{position:fixed;inset:0;z-index:100;background-color:rgba(17,24,39,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:lightbox-fade-in .3s ease-out forwards}.lightbox-overlay.closing{opacity:0;transition:opacity .3s ease-in}.lightbox-content{position:relative;width:auto;height:auto;max-width:90vw;max-height:90vh;animation:lightbox-zoom-in .3s ease-out forwards;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);opacity:0;transition:opacity .4s ease-in-out}.lightbox-image.loaded{opacity:1}.lightbox-loader{width:48px;height:48px;border:5px solid;border-color:#fff #fff transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;position:absolute}.lightbox-close-btn{position:absolute;top:1.5rem;right:1.5rem;color:#d1d5db;background-color:rgba(0,0,0,.3);border-radius:9999px;padding:.5rem;z-index:110;transition:all .2s ease;border:none;cursor:pointer}.lightbox-close-btn:hover{color:white;background-color:rgba(0,0,0,.5);transform:rotate(90deg)}.lightbox-close-btn .w-8{width:2rem}.lightbox-close-btn .h-8{height:2rem}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);color:#d1d5db;background-color:rgba(0,0,0,.3);border-radius:9999px;padding:1rem .75rem;z-index:110;transition:all .2s ease;border:none;cursor:pointer}.lightbox-nav-btn:hover{color:white;background-color:rgba(0,0,0,.5)}.lightbox-nav-btn.prev{left:1.5rem}.lightbox-nav-btn.next{right:1.5rem}.lightbox-nav-btn svg{width:1.5rem;height:1.5rem}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);background-color:rgba(0,0,0,.5);color:white;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}