.photo-gallery.svelte-1b040v6{width:100%;max-width:1200px;margin:0 auto;padding:1rem}.gallery-grid.svelte-1b040v6{display:grid;grid-template-columns:repeat(var(--columns),1fr);gap:1rem}@media (max-width: 768px){.gallery-grid.svelte-1b040v6{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.gallery-grid.svelte-1b040v6{grid-template-columns:1fr}}.gallery-item.svelte-1b040v6{position:relative;cursor:pointer;border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;background:#1f2937}.gallery-item.svelte-1b040v6:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000004d}.gallery-item.svelte-1b040v6:focus{outline:2px solid #ef5d60;outline-offset:2px}.gallery-image.svelte-1b040v6{width:100%;height:250px;object-fit:cover;transition:transform .3s ease}.gallery-item.svelte-1b040v6:hover .gallery-image:where(.svelte-1b040v6){transform:scale(1.05)}.image-title.svelte-1b040v6{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:1rem;font-size:.875rem}.lightbox-overlay.svelte-1b040v6{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.lightbox-content.svelte-1b040v6{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lightbox-image.svelte-1b040v6{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}.lightbox-close.svelte-1b040v6{position:absolute;top:-3rem;right:0;background:#ffffff1a;border:none;color:#fff;padding:.5rem;border-radius:50%;cursor:pointer;transition:background .2s ease;z-index:1001}.lightbox-close.svelte-1b040v6:hover{background:#fff3}.lightbox-nav.svelte-1b040v6{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;padding:1rem;border-radius:50%;cursor:pointer;transition:background .2s ease;z-index:1001}.lightbox-nav.svelte-1b040v6:hover{background:#fff3}.lightbox-prev.svelte-1b040v6{left:-4rem}.lightbox-next.svelte-1b040v6{right:-4rem}.lightbox-info.svelte-1b040v6{position:absolute;bottom:-4rem;left:0;right:0;text-align:center}.lightbox-counter.svelte-1b040v6{position:absolute;top:-3rem;left:0;color:#fff;font-size:.875rem;background:#00000080;padding:.5rem 1rem;border-radius:4px}@media (max-width: 768px){.lightbox-nav.svelte-1b040v6{padding:.5rem}.lightbox-prev.svelte-1b040v6{left:-2rem}.lightbox-next.svelte-1b040v6{right:-2rem}}
