/**
 * Стили каталога товаров
 * Переиспользует: .product-card, .modal-container, .btn-primary, .input-field (из global/components.css)
 */

/* --- Сетка каталога --- */
.catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--spacing-xl);
    margin-top: var(--spacing-xl);
}

@media (max-width: 768px) {
    .catalog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }
}

/* --- Блок фильтров --- */
.catalog-filters {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
}

.catalog-filters__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-lg);
}

.filter-groups {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-xl);
}

.filter-group__title {
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-text-secondary);
    text-transform: uppercase;
    margin-bottom: var(--spacing-sm);
}

/* --- Активные продавцы --- */
.active-sellers-block {
    margin-bottom: var(--spacing-3xl);
}

.active-sellers__title {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--color-gold);
    margin-bottom: var(--spacing-xl);
}

/* --- Модалка товара (специфичные элементы) --- */
.modal-product-gallery {
    position: relative;
    width: 100%;
    height: 400px; /* Геометрия галереи */
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: var(--spacing-xl);
}

.modal-product-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.modal-seller-info {
    background: var(--color-surface-raised);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-xl);
}

.modal-seller-info__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--color-gold);
}

.modal-pricing-block {
    background: var(--color-surface-raised);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    margin: var(--spacing-xl) 0;
}

.modal-pricing-block__total {
    font-family: var(--font-heading);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--color-gold);
    text-shadow: 0 0 15px var(--color-gold-border);
}

/* --- Счетчик количества --- */
.quantity-counter {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: var(--spacing-lg);
}

.quantity-counter__btn {
    width: 40px;
    height: 40px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    color: var(--color-text-primary);
    font-size: 1.2rem;
    cursor: pointer;
    transition: var(--transition-base);
}

.quantity-counter__btn:first-child {
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.quantity-counter__btn:last-child {
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.quantity-counter__btn:hover {
    background: var(--color-gold-soft);
    border-color: var(--color-gold);
}

.quantity-counter__input {
    width: 50px;
    height: 40px;
    background: var(--color-surface);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    border-left: none;
    border-right: none;
    color: var(--color-text-primary);
    text-align: center;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
}

/* --- Пустое состояние --- */
.no-products-found {
    grid-column: 1 / -1;
    text-align: center;
    padding: var(--spacing-3xl) 0;
    color: var(--color-text-secondary);
    font-family: var(--font-body);
    font-size: 1.1rem;
}





/* Принудительные стили с высоким приоритетом */
.lavka-home-page .product-card,
.page-template .product-card,
.product-card {
    background: linear-gradient(145deg, #161b28, #121621) !important;
    border: 2px solid #d4a843 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(212, 168, 67, 0.15) !important;
}

.lavka-home-page .product-card__title,
.page-template .product-card__title,
.product-card__title {
    color: #e8eaf0 !important;
    font-family: var(--font-heading) !important;
}

.lavka-home-page .product-card__category,
.page-template .product-card__category,
.product-card__category {
    color: #d4a843 !important;
    text-transform: uppercase !important;
}

.lavka-home-page .product-card__price,
.page-template .product-card__price,
.product-card__price {
    color: #d4a843 !important;
    font-family: var(--font-heading) !important;
}

.lavka-home-page .product-card__activity,
.page-template .product-card__activity,
.product-card__activity {
    display: block !important;
    color: #8b95a8 !important;
    font-size: 0.78rem !important;
}

.lavka-home-page .btn-primary,
.page-template .btn-primary,
.product-card .btn-primary {
    background: linear-gradient(180deg, #d4a843 0%, #cd7f32 100%) !important;
    color: #0a0c10 !important;
    border: none !important;
}
