.catalog-hero{background:linear-gradient(180deg,var(--bg-secondary) 0,var(--bg-primary) 100%);border-bottom:1px solid var(--border-color);padding:2rem 0 2.5rem}.catalog-breadcrumb{color:var(--text-muted);display:flex;font-size:.85rem;gap:.5rem;margin-bottom:1rem}.catalog-breadcrumb a{color:var(--text-muted);text-decoration:none}.catalog-breadcrumb a:hover{color:var(--primary)}.catalog-breadcrumb span:last-child{color:var(--text-primary);font-weight:500}.catalog-title{color:var(--text-primary);font-size:clamp(2rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem}.catalog-subtitle{color:var(--text-muted);font-size:1rem;line-height:1.5;margin:0 0 1.75rem;max-width:760px}.catalog-body{background:var(--bg-secondary);padding:2.5rem 0 4rem}.catalog-categories{display:flex;flex-direction:column;gap:1.5rem}.catalog-group-header{align-items:center;display:flex;gap:.75rem}.catalog-group-label{color:var(--text-muted);flex-shrink:0;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.catalog-group-line{background:linear-gradient(to right,var(--border-color),#0000);flex:1 1;height:1px}.catalog-cat{background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition)}.catalog-cat:hover{border-color:var(--primary);box-shadow:var(--shadow)}.catalog-cat-head{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:280px 1fr;padding:1.25rem}.catalog-cat-cover{aspect-ratio:4/3;background:var(--bg-tertiary);border:none;border-radius:var(--radius);cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;transition:var(--transition);width:100%}.catalog-cat-cover:disabled{cursor:default;opacity:.7}.catalog-cat-cover img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.catalog-cat-cover:not(:disabled):hover img{transform:scale(1.04)}.catalog-cat-icon{align-items:center;display:flex;font-size:3.5rem;inset:0;justify-content:center;position:absolute}.catalog-cat-cover-cta{background:linear-gradient(180deg,#0000,#000000b3);bottom:0;color:#fff;font-size:.85rem;font-weight:600;left:0;opacity:0;padding:.7rem 1rem;position:absolute;right:0;text-align:left;transform:translateY(8px);transition:var(--transition)}.catalog-cat-cover:not(:disabled):hover .catalog-cat-cover-cta{opacity:1;transform:translateY(0)}.catalog-cat-info{display:flex;flex-direction:column;gap:.5rem;justify-content:center}.catalog-cat-name{color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:-.01em;margin:0}.catalog-cat-desc{color:var(--text-muted);font-size:.95rem;line-height:1.55;margin:0}.catalog-cat-meta{align-items:center;color:var(--primary);display:flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-top:.25rem}.catalog-cat-meta .dot{color:var(--text-muted)}.catalog-subs{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.25rem 1.25rem}.catalog-sub{align-items:center;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.45rem;padding:.55rem 1rem;transition:var(--transition)}.catalog-sub:hover:not(:disabled){border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.catalog-sub.empty,.catalog-sub:disabled{cursor:not-allowed;opacity:.5}.catalog-sub-name{line-height:1.2}.catalog-sub-count{background:#00000014;border-radius:999px;font-size:.7rem;font-weight:700;padding:.1rem .45rem}.catalog-empty,.catalog-loading{color:var(--text-muted);padding:4rem 1rem;text-align:center}.catalog-empty button{background:var(--primary);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-top:1rem;padding:.55rem 1.25rem}@media (max-width:768px){.catalog-hero{padding:1.5rem 0 2rem}.catalog-body{padding:1.5rem 0 3rem}.catalog-cat-head{gap:1rem;grid-template-columns:1fr;padding:1rem}.catalog-cat-cover{aspect-ratio:16/9}.catalog-cat-name{font-size:1.25rem}.catalog-cat-desc{font-size:.875rem}.catalog-subs{gap:.4rem;padding:0 1rem 1rem}.catalog-sub{font-size:.8rem;padding:.45rem .85rem}}@media (max-width:480px){.catalog-cat-cover-cta{opacity:1;transform:none}.catalog-cat-name{font-size:1.1rem}.catalog-cat-meta{font-size:.8rem}}@media (hover:none){.catalog-cat-cover-cta{opacity:1;transform:none}.catalog-sub:hover{transform:none}}