.vn-catalog{padding-top:var(--vn-platform-header-height);min-height:100vh}.vn-catalog__inner{max-width:var(--vn-platform-max-width);padding:var(--vn-platform-space-8) var(--vn-platform-space-6);gap:var(--vn-platform-space-8);grid-template-columns:240px 1fr;margin:0 auto;display:grid}.vn-catalog__sidebar{top:calc(var(--vn-platform-header-height) + var(--vn-platform-space-4));align-self:start;gap:var(--vn-platform-space-6);flex-direction:column;display:flex;position:sticky}.vn-catalog__filter-group{gap:var(--vn-platform-space-2);flex-direction:column;display:flex}.vn-catalog__filter-title{font-family:var(--vn-platform-font-display);color:var(--vn-platform-text-primary);margin:0 0 var(--vn-platform-space-2);letter-spacing:.02em;font-size:20px;font-weight:600}.vn-catalog__filter-options{gap:var(--vn-platform-space-2);flex-direction:column;display:flex}.vn-catalog__filter-option{align-items:center;gap:var(--vn-platform-space-2);color:var(--vn-platform-text-secondary);cursor:pointer;transition:color var(--vn-platform-transition-fast);font-size:19px;display:flex}.vn-catalog__filter-option:hover{color:var(--vn-platform-text-primary)}.vn-catalog__filter-option input[type=checkbox],.vn-catalog__filter-option input[type=radio]{appearance:none;border:1px solid var(--vn-platform-border-strong);border-radius:var(--vn-platform-radius-sm);background:var(--vn-platform-surface);cursor:pointer;width:16px;height:16px;transition:all var(--vn-platform-transition-fast);position:relative}.vn-catalog__filter-option input[type=radio]{border-radius:var(--vn-platform-radius-full)}.vn-catalog__filter-option input[type=checkbox]:checked,.vn-catalog__filter-option input[type=radio]:checked{background:var(--vn-platform-accent);border-color:var(--vn-platform-accent)}.vn-catalog__filter-option input[type=checkbox]:checked:after{content:"";border:solid var(--vn-platform-text-inverse);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.vn-catalog__filter-option input[type=radio]:checked:after{content:"";background:var(--vn-platform-text-inverse);border-radius:var(--vn-platform-radius-full);width:8px;height:8px;position:absolute;top:3px;left:3px}.vn-catalog__select{width:100%;padding:var(--vn-platform-space-2) var(--vn-platform-space-3);background:var(--vn-platform-surface);border:1px solid var(--vn-platform-border);border-radius:var(--vn-platform-radius-md);color:var(--vn-platform-text-primary);font-family:var(--vn-platform-font-body);cursor:pointer;font-size:19px}.vn-catalog__select:focus{border-color:var(--vn-platform-border-strong);outline:none}.vn-catalog__filter-note{padding:var(--vn-platform-space-3);background:var(--vn-platform-surface);border:1px dashed var(--vn-platform-border);border-radius:var(--vn-platform-radius-md);color:var(--vn-platform-text-muted);font-size:14px}.vn-catalog__filter-note p{margin:0;line-height:1.5}.vn-catalog__main{gap:var(--vn-platform-space-6);flex-direction:column;min-width:0;display:flex}.vn-catalog__header{justify-content:space-between;align-items:baseline;gap:var(--vn-platform-space-4);display:flex}.vn-catalog__title{font-family:var(--vn-platform-font-display);color:var(--vn-platform-text-primary);letter-spacing:.02em;margin:0;font-size:38px;font-weight:600}.vn-catalog__count{color:var(--vn-platform-text-secondary);margin:0;font-size:19px}.vn-catalog__grid{gap:var(--vn-platform-space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.vn-catalog__empty{text-align:center;padding:var(--vn-platform-space-20) var(--vn-platform-space-6);background:var(--vn-platform-surface);border:1px dashed var(--vn-platform-border);border-radius:var(--vn-platform-radius-lg);color:var(--vn-platform-text-muted);align-items:center;gap:var(--vn-platform-space-4);flex-direction:column;display:flex}.vn-catalog__empty-mark{color:var(--vn-platform-accent-muted);font-size:50px}@media (max-width:920px){.vn-catalog__inner{gap:var(--vn-platform-space-4);grid-template-columns:1fr}.vn-catalog__sidebar{gap:var(--vn-platform-space-4);flex-flow:wrap;position:static}.vn-catalog__filter-group{flex:200px}}@media (max-width:720px){.vn-catalog__grid{gap:var(--vn-platform-space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.vn-catalog__title{font-size:30px}}
