.prom-single-page { background-color: #ffffff !important; background-image: none !important; }
.prom-single-page .bodyfon { display: none !important; }

.prom-cat-container { width: 100%; max-width: 100%; margin: 0; padding: 0 40px; }

.prom-cat-header { padding: 80px 0 40px; background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.prom-cat-breadcrumbs { font-size: 14px; color: #666; margin-bottom: 20px; }
.prom-cat-breadcrumbs a:hover { color: #4ECDC4; }
.prom-cat-breadcrumbs span { margin: 0 8px; }
.prom-cat-title { font-family: 'Tenor Sans', sans-serif; font-size: 48px; color: #000; font-weight: 400; text-align: center; line-height: 1.2; }

.prom-cat-filter-section { padding: 30px 0; background: #fff; border-bottom: 1px solid #E2E8F0; }
#prom-catalog-form { max-width: 1400px; margin: 0 auto; width: 100%; }
.prom-cat-filter-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 20px; align-items: end; }
.prom-cat-filter-grid.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.prom-cat-filter-group { display: flex; flex-direction: column; gap: 8px; }
.prom-cat-filter-group label { font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; color: #666; font-weight: 600; }

.prom-cat-input, .prom-cat-select { width: 100%; padding: 12px 16px; border: 1px solid #E2E8F0; border-radius: 8px; font-family: 'Montserrat', sans-serif; font-size: 15px; outline: none; background: #fff; transition: all 0.2s; }
.prom-cat-select { appearance: none; -webkit-appearance: none; -moz-appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; cursor: pointer; }
.prom-cat-input:focus, .prom-cat-select:focus { border-color: #4ECDC4; box-shadow: 0 0 0 3px rgba(78, 205, 196, 0.15); }

.prom-cat-checkbox-group { display: flex; flex-wrap: wrap; gap: 15px; }
.prom-cat-checkbox-label { display: flex; align-items: center; gap: 8px; font-size: 15px; cursor: pointer; color: #333; }
.prom-cat-checkbox-label input { width: 18px; height: 18px; accent-color: #4ECDC4; cursor: pointer; }

.prom-cat-toggle-switch { display: flex; align-items: center; gap: 10px; height: 45px; }
.prom-cat-toggle-switch input { display: none; }
.prom-cat-toggle-slider { width: 44px; height: 24px; background: #cbd5e0; border-radius: 20px; position: relative; cursor: pointer; transition: 0.3s; }
.prom-cat-toggle-slider::before { content: ''; position: absolute; width: 18px; height: 18px; background: #fff; border-radius: 50%; top: 3px; left: 3px; transition: 0.3s; }
.prom-cat-toggle-switch input:checked + .prom-cat-toggle-slider { background: #4ECDC4; }
.prom-cat-toggle-switch input:checked + .prom-cat-toggle-slider::before { transform: translateX(20px); }
.prom-cat-toggle-text { font-size: 15px; font-weight: 500; color: #333; }

.prom-cat-filter-actions { display: flex; gap: 16px; align-items: center; grid-column: 1 / -1; margin-top: 10px; flex-wrap: wrap; }
.prom-cat-result-count { font-size: 15px; color: #666; margin-left: auto; font-weight: 500; }
.prom-cat-result-count strong { color: #1A4A6F; font-weight: 700; }

.prom-cat-btn { padding: 12px 24px; border-radius: 8px; font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 600; cursor: pointer; transition: 0.2s; border: none; }
.prom-cat-btn-primary { background: #1A4A6F; color: #fff; }
.prom-cat-btn-primary:hover { background: #133a58; }
.prom-cat-btn-secondary { background: transparent; color: #666; border: 1px solid #E2E8F0; }
.prom-cat-btn-secondary:hover { background: #F8FAFC; color: #333; }
.prom-cat-btn-export { background: #4ECDC4; color: #fff; display: flex; align-items: center; gap: 8px; }
.prom-cat-btn-export:hover { background: #36b9b0; }
.prom-cat-btn-export:disabled { opacity: 0.6; cursor: not-allowed; }

.prom-cat-catalog-section { padding: 50px 0 80px; background: #fff; }
.prom-cat-cards-grid { display: grid; gap: 24px; min-height: 200px; grid-template-columns: repeat(4, 1fr); }
.prom-cat-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; padding: 24px; display: flex; flex-direction: column; height: 100%; position: relative; transition: all 0.3s ease; text-decoration: none; }
.prom-cat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,0.08); border-color: #4ECDC4; }
.prom-cat-card-type { font-size: 12px; font-weight: 600; color: #4ECDC4; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 12px; }
.prom-cat-card-title { font-family: 'Tenor Sans', sans-serif; font-size: 20px; color: #1A4A6F; line-height: 1.3; margin-bottom: 16px; flex-grow: 1; }
.prom-cat-card-author { font-size: 14px; color: #666; margin-bottom: 16px; }
.prom-cat-card-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; }
.prom-cat-tag { background: #F8FAFC; color: #666; font-size: 12px; padding: 4px 10px; border-radius: 20px; font-weight: 500; }
.prom-cat-card-link { font-size: 14px; font-weight: 600; color: #1A4A6F; display: inline-flex; align-items: center; gap: 6px; transition: color 0.2s; margin-top: auto; }
.prom-cat-card:hover .prom-cat-card-link { color: #4ECDC4; }
.prom-cat-card-link::after { content: '→'; transition: transform 0.2s; }
.prom-cat-card:hover .prom-cat-card-link::after { transform: translateX(4px); }

.prom-cat-loader { grid-column: 1 / -1; text-align: center; font-size: 18px; color: #666; padding: 40px 0; }
.prom-cat-empty { grid-column: 1 / -1; text-align: center; font-size: 18px; color: #666; padding: 40px 0; background: #F8FAFC; border-radius: 8px; }

.prom-cat-pagination { display: none; justify-content: center; margin-top: 50px; }
.prom-cat-btn-load-more { padding: 16px 40px; background: #F8FAFC; color: #1A4A6F; border: 1px solid #E2E8F0; border-radius: 8px; font-weight: 600; font-size: 16px; cursor: pointer; transition: 0.2s; }
.prom-cat-btn-load-more:hover:not(:disabled) { background: #fff; border-color: #1A4A6F; }
.prom-cat-btn-load-more:disabled { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 1400px) { .prom-cat-cards-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1024px) {
    .prom-cat-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .prom-cat-filter-grid, .prom-cat-filter-grid.cols-3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .prom-cat-container { padding: 0 20px; }
    .prom-cat-title { font-size: 32px; }
    .prom-cat-filter-grid, .prom-cat-filter-grid.cols-3 { grid-template-columns: 1fr; }
    .prom-cat-filter-actions { flex-direction: column; align-items: stretch; }
    .prom-cat-result-count { margin-left: 0; text-align: center; margin-top: 10px; }
    .prom-cat-btn { width: 100%; justify-content: center; }
    .prom-cat-cards-grid { grid-template-columns: 1fr; }
    .prom-cat-checkbox-group { flex-direction: column; gap: 10px; }
}