.gallery-page-hero{text-align:center;background:linear-gradient(135deg,#05406d 0%,#075694 60%,#0a6cb8 100%);padding:120px 0 70px;position:relative;overflow:hidden}.gallery-page-hero:before{content:"";background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.gallery-page-hero h1{color:#fff;margin-bottom:14px;font-size:3rem;position:relative}.gallery-page-hero p{color:#ffffffd1;max-width:560px;margin:0 auto 20px;font-size:1.1rem;position:relative}.gallery-breadcrumb{color:#ffffffa6;justify-content:center;align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem;display:flex;position:relative}.gallery-breadcrumb a{color:#ffffffd9}.gallery-breadcrumb a:hover{color:var(--color-accent)}.gallery-breadcrumb i{font-size:.7rem}.filter-bar{z-index:100;border-bottom:3px solid var(--color-accent);background:#fff;padding:20px 0;position:sticky;top:0;box-shadow:0 4px 20px #07569414}.filter-inner{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filter-label{color:var(--color-primary-dark);white-space:nowrap;font-size:.95rem;font-weight:700}.filter-tabs{flex-wrap:wrap;flex:1;gap:8px;display:flex}.filter-tab{color:var(--color-text-light);cursor:pointer;background:#fff;border:2px solid #e0e8f5;border-radius:50px;padding:7px 18px;font-size:.88rem;font-weight:600;transition:all .25s}.filter-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.gallery-count{color:var(--color-text-light);white-space:nowrap;font-size:.88rem}.gallery-count strong{color:var(--color-primary)}.gallery-page-grid{columns:3 280px;column-gap:20px;padding:48px 0 80px}.gallery-page-item{break-inside:avoid;cursor:pointer;border-radius:14px;margin-bottom:20px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 4px 16px #0756941a}.gallery-page-item:hover{transform:translateY(-6px);box-shadow:0 16px 40px #07569433}.gallery-page-item img{width:100%;transition:transform .5s;display:block}.gallery-page-item:hover img{transform:scale(1.04)}.gallery-page-overlay{opacity:0;background:linear-gradient(#0000 0%,#0756944d 50%,#05406de6 100%);align-items:flex-end;padding:20px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-page-item:hover .gallery-page-overlay{opacity:1}.gallery-page-overlay-content{transition:transform .3s;transform:translateY(12px)}.gallery-page-item:hover .gallery-page-overlay-content{transform:translateY(0)}.gallery-page-overlay h4{color:#fff;margin-bottom:4px;font-size:1rem}.gallery-page-overlay .tag-badge{background:var(--color-accent);color:#fff;border-radius:20px;margin-bottom:8px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-block}.gallery-overlay-zoom{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;opacity:0;background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;transition:opacity .3s;display:flex;position:absolute;top:14px;right:14px}.gallery-page-item:hover .gallery-overlay-zoom{opacity:1}.gallery-loading{text-align:center;color:var(--color-text-light);padding:80px 20px}.gallery-loading .spinner{border:4px solid #e0e8f5;border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gallery-empty{text-align:center;padding:80px 20px}.gallery-empty i{color:#d1d9e6;margin-bottom:20px;font-size:4rem}.gallery-empty h3{color:var(--color-primary-dark);margin-bottom:10px}.gallery-empty p{color:var(--color-text-light)}.lightbox-backdrop{z-index:9999;background:#0a1428f7;justify-content:center;align-items:center;animation:.25s fadeIn;display:none;position:fixed;inset:0}.lightbox-backdrop.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-inner{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-img{object-fit:contain;border-radius:12px;max-width:90vw;max-height:78vh;animation:.3s scaleIn;box-shadow:0 30px 80px #0009}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lightbox-caption{text-align:center;margin-top:16px}.lightbox-caption h4{color:#fff;margin-bottom:6px;font-size:1.1rem}.lightbox-caption span{background:var(--color-accent);color:#fff;border-radius:20px;padding:3px 12px;font-size:.78rem;font-weight:700}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;transition:background .2s;display:flex;position:absolute;top:-50px;right:0}.lightbox-close:hover{background:#ffffff40}.lightbox-nav{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;z-index:10000;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.3rem;transition:all .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:var(--color-accent);border-color:var(--color-accent)}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-counter{color:#fff;z-index:10000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border-radius:20px;padding:6px 18px;font-size:.88rem;font-weight:600;position:fixed;top:20px;left:50%;transform:translate(-50%)}.gallery-cta{text-align:center;background:linear-gradient(135deg,#05406d 0%,#0a6cb8 100%);padding:60px 0}.gallery-cta h2{color:#fff;margin-bottom:12px}.gallery-cta p{color:#ffffffd1;margin-bottom:28px}@media (width<=768px){.gallery-page-hero h1{font-size:2rem}.gallery-page-grid{columns:1 280px}.lightbox-nav{display:none}}
