.gallery-wrapper{background-color:#fff;width:100%;min-height:100vh;padding:100px 30px 60px;font-family:Poppins,sans-serif}.gallery-header{text-align:center;margin-bottom:50px;position:relative}.gallery-decorative-line{background-color:#2ca4dd;border-radius:2px;width:60px;height:4px;margin:0 auto 20px}.gallery-subtitle{color:#2ca4dd;letter-spacing:2px;text-transform:uppercase;margin:0;font-size:3rem;font-weight:700}.gallery-main-title{color:#333;max-width:1400px;margin:15px auto 0;font-size:2.5rem;font-weight:700;line-height:1.4}.gallery-tabs{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:50px;padding:0 20px;display:flex}.tab-button{color:#555;cursor:pointer;background:#f8f9fa;border:2px solid transparent;border-radius:30px;padding:12px 28px;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;transition:all .3s}.tab-button:hover{background-color:#e9ecef;transform:translateY(-2px)}.tab-button.active{color:#fff;background-color:#2ca4dd;border:2px solid #2ca4dd;font-weight:600;box-shadow:0 4px 12px rgba(44,164,221,.3)}.image-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;width:100%;max-width:1400px;margin:0 auto 50px;display:grid}.image-grid.mobile{grid-template-columns:repeat(2,1fr);gap:15px}.image-container{cursor:pointer;aspect-ratio:1;border-radius:16px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}.image-container.tall{aspect-ratio:1/1.2}.image-container:hover{transform:translateY(-10px)scale(1.02);box-shadow:0 16px 40px rgba(0,123,255,.15)}.image-container:hover .image-overlay{opacity:1}.image-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer;position:absolute;top:0;bottom:0;left:0;right:0}.gallery-image{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.image-overlay{color:#fff;opacity:0;background:linear-gradient(transparent 0%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.8) 100%);flex-direction:column;justify-content:flex-end;padding:25px;transition:opacity .4s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.overlay-category{text-transform:uppercase;letter-spacing:1px;opacity:.9;margin:0 0 8px;font-size:.85rem;font-weight:500}.overlay-action{align-items:center;gap:8px;font-size:.9rem;display:flex}.gallery-pagination{justify-content:center;align-items:center;gap:20px;margin-top:40px;display:flex}.pagination-button{color:#fff;cursor:pointer;background-color:#007bff;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;transition:all .3s;display:flex}.pagination-button:disabled{color:#ccc;cursor:not-allowed;opacity:.5;background-color:#f8f9fa}.pagination-button:not(:disabled):hover{background-color:#0056b3}.pagination-button.prev:not(:disabled):hover{transform:translate(-4px)}.pagination-button.next:not(:disabled):hover{transform:translate(4px)}.page-numbers{align-items:center;gap:8px;display:flex}.page-number-button{color:#555;cursor:pointer;background-color:#f8f9fa;border:none;border-radius:10px;width:40px;height:40px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500;transition:all .3s}.page-number-button:hover{background-color:#e9ecef}.page-number-button.active{color:#fff;background-color:#007bff;font-weight:600}.lightbox-modal{z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:rgba(0,0,0,.95);justify-content:center;align-items:center;padding:20px;animation:.3s ease-out fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox-content{text-align:center;flex-direction:column;align-items:center;max-width:90vw;max-height:85vh;display:flex}.lightbox-image{object-fit:contain;border-radius:12px;max-width:100vh;max-height:80vh;margin:0 auto;display:block}.lightbox-caption{color:#fff;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:26px;margin:18px auto 0;padding:12px 28px;display:inline-block;box-shadow:0 8px 30px rgba(0,0,0,.45)}.lightbox-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10001;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;transition:all .3s;display:flex}.lightbox-button:hover{background:rgba(255,255,255,.25);transform:scale(1.1)}.lightbox-close{font-size:28px;position:absolute;top:30px;right:30px}.lightbox-close:hover{transform:rotate(90deg)scale(1.1)}.lightbox-prev{position:absolute;left:30px}.lightbox-next{position:absolute;right:30px}.lightbox-caption-text{color:#fff;text-align:center;letter-spacing:.5px;margin:0;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500}.gallery-pagination{color:#333;font-size:1rem}.arrow-button{color:#fff;background-color:#00bcd4;border:none;border-radius:30%;width:2rem;height:2rem;font-size:1rem}.arrow-button :hover{cursor:pointer}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.fade-in-1{animation:.5s ease-out both fadeInScale}.fade-in-2{animation:.5s ease-out 50ms both fadeInScale}.fade-in-3{animation:.5s ease-out .1s both fadeInScale}.fade-in-4{animation:.5s ease-out .15s both fadeInScale}.fade-in-5{animation:.5s ease-out .2s both fadeInScale}.fade-in-6{animation:.5s ease-out .25s both fadeInScale}.fade-in-7{animation:.5s ease-out .3s both fadeInScale}.fade-in-8{animation:.5s ease-out .35s both fadeInScale}.fade-in-9{animation:.5s ease-out .4s both fadeInScale}.fade-in-10{animation:.5s ease-out .45s both fadeInScale}.fade-in-11{animation:.5s ease-out .5s both fadeInScale}.fade-in-12{animation:.5s ease-out .55s both fadeInScale}@media (max-width:768px){.gallery-wrapper{padding:80px 20px 40px}.gallery-main-title{font-size:1.5rem!important}.gallery-tabs{gap:8px}.tab-button{padding:10px 20px;font-size:.85rem}.image-grid{gap:15px}.pagination-button{padding:10px 18px;font-size:.85rem}.page-number-button{width:35px;height:35px;font-size:.85rem}.lightbox-button{width:45px;height:45px}.lightbox-close{top:20px;right:20px}.lightbox-prev{left:20px}.lightbox-next{right:20px}}@media (min-width:769px) and (max-width:1024px){.image-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}}
