.lightbox{z-index:1000;opacity:0;pointer-events:none;background-color:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.lightbox.active{opacity:1;pointer-events:auto}body.lightbox-open{overflow:hidden}.lightbox-content{flex-direction:column;align-items:center;max-width:90%;max-height:90vh;display:flex;position:relative}.lightbox-image-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.lightbox-image{object-fit:contain;max-width:100%;max-height:80vh;transition:transform .3s;box-shadow:0 4px 25px #0000004d}.lightbox-caption{color:#fff;text-align:center;width:100%;padding:15px;font-size:16px}.lightbox-counter{color:#fff;font-size:14px;position:absolute;bottom:-30px;right:0}.close-lightbox{color:#fff;cursor:pointer;z-index:10;font-size:30px;transition:color .2s;position:absolute;top:-40px;right:0}.close-lightbox:hover{color:var(--accent-color)}.lightbox-controls{z-index:5;justify-content:space-between;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.prev-image,.next-image{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0 20px;transition:background-color .2s;display:flex}.prev-image:hover,.next-image:hover{background:var(--accent-color)}.gallery-controls{justify-content:flex-end;margin-bottom:20px;display:flex}.view-toggle{cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;margin-left:10px;padding:8px 15px;transition:all .2s}.view-toggle.active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.carousel-container{flex-direction:column;width:100%;margin:20px 0;display:none;position:relative}.carousel-track{background-color:#f0f0f0;border-radius:8px;height:60vh;display:flex;position:relative;overflow:hidden}.carousel-slide{opacity:0;cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s;display:flex;position:absolute;top:0;left:0}.carousel-slide.active{opacity:1;z-index:2}.carousel-slide img{object-fit:contain;max-width:100%;max-height:100%}.carousel-arrow{z-index:10;color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-prev{left:15px}.carousel-next{right:15px}.carousel-arrow:hover{background-color:var(--accent-color)}.carousel-indicators{justify-content:center;margin-top:15px;display:flex}.carousel-indicator{cursor:pointer;background-color:#ddd;border:none;border-radius:50%;width:12px;height:12px;margin:0 5px;transition:background-color .2s}.carousel-indicator.active{background-color:var(--accent-color)}.project-gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-bottom:30px;display:grid}.gallery-item{cursor:pointer;border-radius:8px;transition:transform .3s,box-shadow .3s;overflow:hidden;box-shadow:0 4px 8px #0000001a}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.gallery-thumbnail{width:100%;height:0;padding-bottom:75%;position:relative;overflow:hidden}.gallery-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0}.gallery-overlay{opacity:0;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.gallery-item:hover .gallery-thumbnail img{transform:scale(1.05)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay i{color:#fff;font-size:1.5rem}@media (width<=768px){.project-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.lightbox-controls{width:100%}.prev-image,.next-image{width:40px;height:40px;margin:0 10px}.carousel-track{height:40vh}}@media (width<=480px){.project-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.carousel-indicators{margin-top:10px}.carousel-indicator{width:8px;height:8px;margin:0 3px}.lightbox-caption{padding:10px;font-size:14px}}
