.gallery-hero{background:linear-gradient(135deg,var(--primary-black),var(--primary-red));color:#fff;padding:var(--spacing-xxl) 0;text-align:center}.gallery-hero .hero-content{max-width:800px;margin:0 auto}.gallery-hero .hero-content h1{font-size:3rem;margin-bottom:var(--spacing-md);color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}@media (max-width: 768px){.gallery-hero .hero-content h1{font-size:2.5rem}}.gallery-hero .hero-content p{font-size:1.3rem;opacity:.9;line-height:1.6}.gallery-section{padding:var(--section-padding-y) 0;background:var(--secondary-gray)}.gallery-section .gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);max-height:none}.gallery-section .gallery-filters .filter-btn{min-height:44px;min-width:44px;padding:.55rem var(--spacing-md);border:2px solid var(--primary-red);background:var(--surface-elevated);color:var(--primary-red);border-radius:25px;font-weight:600;font-size:.92rem;cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal);-webkit-tap-highlight-color:transparent}.gallery-section .gallery-filters .filter-btn:hover{background:var(--primary-red);color:#fff;transform:translateY(-2px)}.gallery-section .gallery-filters .filter-btn.active{background:var(--primary-red);color:#fff;box-shadow:var(--shadow-red)}.gallery-section .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.gallery-section .gallery-grid--skeleton{pointer-events:none;min-height:12rem}@media (max-width: 768px){.gallery-section .gallery-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:var(--spacing-md)}}.gallery-section .gallery-grid .gallery-item{cursor:pointer;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.gallery-section .gallery-grid .gallery-item:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.gallery-section .gallery-grid .gallery-item .image-container{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--secondary-gray)}.gallery-section .gallery-grid .gallery-item .image-container img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);display:block}.gallery-section .gallery-grid .gallery-item .image-container .image-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#000000b3,#e600004d);opacity:0;transition:opacity var(--transition-normal);display:flex;align-items:center;justify-content:center}.gallery-section .gallery-grid .gallery-item .image-container .image-overlay .overlay-content{text-align:center;color:#fff;padding:var(--spacing-md)}.gallery-section .gallery-grid .gallery-item .image-container .image-overlay .overlay-content h3{font-size:1.3rem;margin-bottom:var(--spacing-sm);color:#fff}.gallery-section .gallery-grid .gallery-item .image-container .image-overlay .overlay-content p{font-size:.9rem;margin-bottom:var(--spacing-sm);opacity:.9}.gallery-section .gallery-grid .gallery-item .image-container .image-overlay .overlay-content .category-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--primary-red);color:#fff;border-radius:15px;font-size:.8rem;font-weight:600}.gallery-section .gallery-grid .gallery-item .image-container:hover img{transform:scale(1.1)}.gallery-section .gallery-grid .gallery-item .image-container:hover .image-overlay{opacity:1}.lightbox{position:fixed;inset:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.lightbox .lightbox-content{position:relative;display:flex;flex-direction:column;max-width:90vw;max-height:90vh;width:min(960px,100%);background:var(--surface-elevated);border-radius:16px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-lg)}.lightbox .lightbox-content .lightbox-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:#000000b3;color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background var(--transition-fast)}.lightbox .lightbox-content .lightbox-close:hover{background:var(--primary-red)}.lightbox .lightbox-content .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;color:#fff;border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background var(--transition-fast)}.lightbox .lightbox-content .lightbox-nav:hover{background:var(--primary-red)}.lightbox .lightbox-content .lightbox-nav.prev{left:var(--spacing-sm)}.lightbox .lightbox-content .lightbox-nav.next{right:var(--spacing-sm)}.lightbox .lightbox-content .lightbox-image{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.lightbox .lightbox-content .lightbox-image img{display:block;width:100%;max-width:100%;height:auto;max-height:min(70vh,70dvh);object-fit:contain;margin:0 auto}.lightbox .lightbox-content .lightbox-image .lightbox-info{flex-shrink:0;padding:var(--spacing-lg);background:var(--surface-elevated)}.lightbox .lightbox-content .lightbox-image .lightbox-info h3{color:var(--primary-black);margin-bottom:var(--spacing-sm);font-size:1.5rem;overflow-wrap:anywhere}.lightbox .lightbox-content .lightbox-image .lightbox-info p{color:var(--text-light);margin-bottom:var(--spacing-md);line-height:1.6;overflow-wrap:anywhere}.lightbox .lightbox-content .lightbox-image .lightbox-info .category-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--primary-red);color:#fff;border-radius:15px;font-size:.9rem;font-weight:600}.gallery-stats{padding:var(--spacing-xxl) 0;background:var(--surface-elevated)}.gallery-stats .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--spacing-xl)}.gallery-stats .stats-grid .stat-item{text-align:center;padding:var(--spacing-xl);border-radius:16px;background:var(--secondary-gray);transition:all var(--transition-normal)}.gallery-stats .stats-grid .stat-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.gallery-stats .stats-grid .stat-item .stat-icon{font-size:3rem;color:var(--primary-red);margin-bottom:var(--spacing-md)}.gallery-stats .stats-grid .stat-item .stat-number{font-size:2.5rem;font-weight:700;color:var(--primary-black);margin-bottom:var(--spacing-xs)}.gallery-stats .stats-grid .stat-item .stat-label{color:var(--text-light);font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.lightbox{padding:var(--spacing-sm)}.lightbox .lightbox-content{max-width:95vw;max-height:95dvh}.lightbox .lightbox-content .lightbox-nav{top:40%;width:40px;height:40px;min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.lightbox .lightbox-content .lightbox-nav.prev{left:var(--spacing-xs)}.lightbox .lightbox-content .lightbox-nav.next{right:var(--spacing-xs)}.lightbox .lightbox-content .lightbox-image img{max-height:min(55vh,55dvh)}.lightbox .lightbox-content .lightbox-image .lightbox-info{padding:var(--spacing-md)}.lightbox .lightbox-content .lightbox-image .lightbox-info h3{font-size:1.3rem}.gallery-filters{gap:.45rem}.gallery-filters .filter-btn{padding:.45rem .75rem;font-size:.85rem;min-height:var(--touch-target-min)}}@media (max-height: 500px) and (orientation: landscape){.lightbox .lightbox-content{max-height:92dvh}.lightbox .lightbox-content .lightbox-image img{max-height:min(48vh,48dvh)}}
