        /* Специфичные стили для страницы галереи */
        .gallery-wrapper {
            display: grid;
            gap: 2rem;
        }

        /* Фильтры */
        .gallery-filters {
            display: flex;
            flex-wrap: wrap;
            gap: 0.8rem;
            justify-content: center;
            margin-bottom: 1.5rem;
        }
        .filter-btn {
            padding: 0.6rem 1.4rem;
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
            color: var(--text-secondary);
            font-weight: 600;
            cursor: pointer;
            transition: all var(--transition-fast);
        }
        .filter-btn:hover { border-color: var(--accent-purple); color: var(--text-primary); }
        .filter-btn.active {
            background: var(--accent-purple);
            color: #fff;
            border-color: var(--accent-purple);
            box-shadow: 0 0 15px var(--purple-glow);
        }

        /* Сетка галереи */
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 1.8rem;
        }
        .gallery-item {
            position: relative;
            border-radius: var(--radius-xl);
            overflow: hidden;
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            cursor: pointer;
            transition: transform var(--transition-normal), box-shadow 0.35s, border-color 0.3s, opacity 0.3s;
            opacity: 1;
        }
        .gallery-item:hover {
            transform: translateY(-6px);
            box-shadow: 0 16px 36px var(--shadow-elevated), 0 0 24px var(--purple-glow);
            border-color: var(--accent-purple);
        }
        .gallery-item.hidden { display: none; }

        .gallery-img {
            width: 100%;
            height: 220px;
            display: block;
            position: relative;
            overflow: hidden;
        }
        .gallery-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transition: transform 0.5s ease;
        }
        .gallery-item:hover .gallery-img img {
            transform: scale(1.08);
        }
        .gallery-img::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 60%);
            opacity: 0;
            transition: opacity 0.3s;
            pointer-events: none;
        }
        .gallery-item:hover .gallery-img::after { opacity: 1; }

        .gallery-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(transparent, rgba(15, 17, 21, 0.95));
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 1.5rem;
            opacity: 0;
            transition: opacity 0.3s;
        }
        .gallery-item:hover .gallery-overlay { opacity: 1; }
        .gallery-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--text-primary);
            margin: 0 0 0.3rem;
        }
        .gallery-author {
            font-size: 0.85rem;
            color: var(--accent-green);
        }

        /* Лайтбокс */
        .lightbox {
            position: fixed;
            inset: 0;
            background: rgba(15, 17, 21, 0.92);
            backdrop-filter: blur(12px);
            z-index: 400;
            display: grid;
            place-items: center;
            padding: 2rem;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s;
        }
        .lightbox.open { opacity: 1; visibility: visible; }
        
        .lightbox-content {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-xl);
            max-width: 900px;
            width: 100%;
            overflow: hidden;
            transform: scale(0.95) translateY(20px);
            transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
        }
        .lightbox.open .lightbox-content { transform: scale(1) translateY(0); }
        
        .lightbox-img {
            width: 100%;
            height: 500px;
            background: var(--bg-secondary);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        .lightbox-img img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            object-position: center;
        }
        .lightbox-footer {
            padding: 1.2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
        }
        .lightbox-title {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--text-primary);
        }
        .lightbox-author {
            color: var(--accent-green);
        }
        .lightbox-close {
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            width: 40px;
            height: 40px;
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 50%;
            color: var(--text-primary);
            cursor: pointer;
            font-size: 1.5rem;
            display: grid;
            place-items: center;
            transition: all 0.2s;
            z-index: 2;
        }
        .lightbox-close:hover {
            background: var(--accent-purple);
            color: #fff;
            transform: rotate(90deg);
        }

        @media (max-width: 900px) {
            .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
            .lightbox-img { height: 300px; }
        }
        @media (max-width: 600px) {
            .gallery-filters { gap: 0.5rem; }
            .filter-btn { padding: 0.5rem 1rem; font-size: 0.9rem; }
            .lightbox { padding: 1rem; }
            .lightbox-img { height: 250px; }
        }