.lightbox-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem;display:grid}.lightbox-thumbnail{aspect-ratio:1;cursor:pointer;border:1px solid #ffffff1a;border-radius:12px;transition:all .3s;position:relative;overflow:hidden}.lightbox-thumbnail:hover{border-color:#ffffff4d;box-shadow:0 10px 30px #0000004d}.lightbox-thumbnail img{-o-object-fit:cover;object-fit:cover;filter:grayscale();width:100%;height:100%;transition:all .3s}.lightbox-thumbnail:hover img{filter:grayscale(0%);transform:scale(1.1)}.thumbnail-overlay{opacity:0;color:#fff;background:#00000080;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;inset:0}.lightbox-thumbnail:hover .thumbnail-overlay{opacity:1}.lightbox-modal{z-index:2000;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;position:absolute;inset:0}.lightbox-content{z-index:2001;max-width:90vw;max-height:90vh;position:relative}.lightbox-close{color:#fff;cursor:pointer;z-index:2002;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;transition:all .3s;display:flex;position:absolute;top:-3rem;right:0}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-image-container{border-radius:12px;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000080}.lightbox-image{-o-object-fit:contain;object-fit:contain;filter:grayscale();width:100%;height:auto;max-height:80vh}.lightbox-caption{color:#fff;text-align:center;background:linear-gradient(#0000,#000c);padding:2rem 1.5rem 1.5rem;font-size:.875rem;position:absolute;bottom:0;left:0;right:0}.lightbox-nav{color:#fff;cursor:pointer;z-index:2002;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3;transform:translateY(-50%)scale(1.1)}.lightbox-prev{left:-4rem}.lightbox-next{right:-4rem}.lightbox-counter{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;padding:.5rem 1rem;font-size:.875rem;position:absolute;bottom:-3rem;left:50%;transform:translate(-50%)}.form-group{margin-bottom:1rem}.form-input.error,.form-textarea.error{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b33}.error-text{color:#ff6b6b;margin-top:.25rem;font-size:.75rem;display:block}.success-message{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;font-size:.875rem;display:flex}.error-message{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;font-size:.875rem;display:flex}.spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-button:disabled:hover{box-shadow:none;transform:none}@media (max-width:768px){.lightbox-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.lightbox-modal{padding:1rem}.lightbox-close{width:2.5rem;height:2.5rem;top:-2.5rem}.lightbox-nav{width:2.5rem;height:2.5rem}.lightbox-prev{left:-3rem}.lightbox-next{right:-3rem}.lightbox-counter{bottom:-2.5rem}}
