/* === ГАЛЕРЕЯ: ЕДИНЫЙ СТИЛЬ ПРОЕКТА (ТОЧКА СБОРКИ) === */
/* Все цвета/радиусы/тени — через токены из global.css (поддержка 3 тем) */

/* --- ФОН (3 блоба + шум, как на home/artists/events) --- */
.ambient-bg {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: var(--bg);
    overflow: hidden; z-index: -1;
}
.blob {
    position: absolute; border-radius: 50%;
    filter: blur(50px); opacity: 0.4;
    animation: movePoint 20s infinite alternate ease-in-out;
}
.blob-1 { top: 10%; left: 10%; width: 320px; height: 320px; background: var(--blue); }
.blob-2 { bottom: 15%; right: 10%; width: 280px; height: 280px; background: #5c0011; animation-duration: 30s; animation-delay: -5s; }
.blob-3 { top: 40%; left: 45%; width: 220px; height: 220px; background: rgba(255, 215, 0, 0.12); animation-duration: 35s; animation-delay: -10s; }
@keyframes movePoint {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(60px, -60px) scale(1.1); }
}

/* --- КОНТЕЙНЕР --- */
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 20px 120px;
    color: var(--text);
}

/* --- ЗАГОЛОВОК (если показан через .hero) --- */
header {
    text-align: center;
    padding: 0 0 20px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 30px;
}
header h1 {
    font-family: 'PT Sans';
    font-size: 1rem; font-weight: 900;
    color: var(--text);
    margin-bottom: 5px;
    letter-spacing: 2px;
}
.tagline-sub {
    font-family: 'PT Sans Narrow';
    color: var(--accent);
    letter-spacing: 5px;
    font-size: 0.8rem;
    text-transform: uppercase;
}

/* --- ПУЛЬТ (как events.css/artists.css) --- */
.toolbar {
    position: sticky; top: 10px; z-index: 100;
    background: var(--glass-bg);
    border: 1px solid var(--surface-border);
    padding: 12px;
    border-radius: var(--radius-md);
    backdrop-filter: blur(20px);
    margin-bottom: 30px;
    box-shadow: var(--shadow-md);
}
.filter-row {
    display: flex; gap: 8px;
    justify-content: center; flex-wrap: wrap;
}

.v-btn {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-muted);
    padding: 8px 16px;
    cursor: pointer;
    border-radius: var(--radius-sm);
    font-family: 'PT Sans Narrow';
    font-size: 0.75rem; font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: 0.2s;
}
.v-btn:hover {
    border-color: var(--text);
    color: var(--text);
}
.v-btn.active {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
    box-shadow: 0 0 15px var(--accent-glow);
}

.sep {
    width: 1px;
    background: var(--border);
    margin: 0 10px;
}

/* --- СЕТКА (MASONRY) --- */
.masonry-grid { column-gap: 20px; }
.grid-big   { column-count: 4; }
.grid-small { column-count: 6; }

/* --- КАРТОЧКА РАБОТЫ --- */
.art-item {
    break-inside: avoid;
    contain: layout style paint;
    margin-bottom: 20px;
    background: var(--surface);
    border: 1px solid var(--surface-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    cursor: pointer;
    position: relative;
}
.art-item:hover { /* пусто — hover только через filter на картинке ниже */ }

.art-img {
    width: 100%; display: block;
    filter: grayscale(40%) brightness(0.9);
    transition: filter 0.2s ease;
}
.art-item:hover .art-img { filter: grayscale(0) brightness(1.05); }

/* ИНФО В КАРТОЧКЕ */
.art-info {
    padding: var(--spacing-md);
    background: rgba(0, 0, 0, 0.35);
}
.art-author {
    font-family: 'PT Sans Narrow';
    font-size: 0.65rem;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 3px;
}
.art-title {
    font-family: 'PT Sans';
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--text);
    line-height: 1.2;
}
.art-price {
    font-family: 'PT Sans Narrow';
    color: var(--text-muted);
    font-size: 0.8rem;
    margin-top: 5px;
    text-align: right;
}

/* --- ШИЛЬДИКИ СТАТУСА --- */
.status-badge {
    position: absolute; top: 10px; left: 10px;
    background: var(--glass-bg);
    color: var(--text);
    padding: 3px 8px;
    font-family: 'PT Sans Narrow';
    font-size: 0.6rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    z-index: 10;
    backdrop-filter: blur(6px);
}
.status-sold {
    border-color: var(--accent);
    color: var(--accent);
}

/* --- ЗАГРУЗЧИК / СЕНТРИНЭЛ --- */
#sentinel {
    height: 100px;
    text-align: center;
    color: var(--text-muted);
    font-family: 'PT Sans Narrow';
    padding-top: 40px;
    letter-spacing: 2px;
}

/* --- АДАПТИВ --- */
@media (max-width: 1200px) { .grid-big { column-count: 3; } .grid-small { column-count: 4; } }
@media (max-width: 800px)  { .grid-big { column-count: 2; } .grid-small { column-count: 3; } }
@media (max-width: 500px)  { .grid-big { column-count: 1; } .grid-small { column-count: 2; } }
