.catalog-page { letter-spacing: 0; }
.catalog-page h1,.catalog-page h2,.catalog-page h3,.catalog-page .brand,.catalog-page .eyebrow { letter-spacing: 0; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; padding:28px 0; font-size:13px; color:var(--muted); }
.breadcrumbs a { text-decoration:none; }
.catalog-heading { display:grid; grid-template-columns:1fr 180px; gap:48px; align-items:center; padding:26px 0 40px; }
.catalog-page h1 { font-size:44px; line-height:1.15; margin:16px 0 20px; max-width:850px; overflow-wrap:anywhere; }
.catalog-page .eyebrow { color:#586777; }
.catalog-lead { color:#586777; max-width:760px; font-size:18px; line-height:1.65; }
.catalog-count { border-left:3px solid var(--accent); padding-left:24px; }
.catalog-count strong { font-size:52px; display:block; line-height:1.2; }
.catalog-count span { display:block; color:var(--muted); font-size:14px; }
.catalog-filters { display:grid; grid-template-columns:2fr 1.2fr 1fr auto; gap:18px; padding:24px 0; border-block:1px solid var(--line); align-items:end; }
.catalog-filters label { display:grid; gap:8px; font-size:13px; font-weight:650; min-width:0; }
.catalog-filters input,.catalog-filters select { width:100%; height:46px; border:1px solid #cbd2da; background:#fff; border-radius:6px; padding:0 12px; font:inherit; font-size:15px; color:var(--ink); min-width:0; }
.catalog-filters input:focus,.catalog-filters select:focus { outline:2px solid #f35b2a; outline-offset:2px; }
.reset-filters { border:0; background:transparent; color:#a43c1c; height:46px; cursor:pointer; font:inherit; font-size:14px; padding:0 8px; }
.catalog-status { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; padding:22px 0; color:var(--muted); font-size:13px; }
.catalog-status p { margin:0; color:var(--ink); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.product-card { border:1px solid var(--line); border-top:3px solid #25877b; border-radius:8px; padding:24px; display:flex; flex-direction:column; min-height:294px; }
.product-card[data-category="Персонал"] { border-top-color:#d25336; }
.product-card[data-category="Документы"] { border-top-color:#6486a8; }
.product-card[data-category="Администрирование"] { border-top-color:#9a8050; }
.product-card[data-category="Финансы"] { border-top-color:#318154; }
.product-card:hover { border-color:#98aaa8; }
.product-meta { display:flex; gap:8px 14px; flex-wrap:wrap; color:#587069; font-size:12px; }
.product-meta span+span { color:var(--muted); }
.product-card h2 { font-size:23px; line-height:1.3; margin:23px 0 12px; overflow-wrap:anywhere; }
.product-card h2 a { text-decoration:none; }
.product-card h2 a:hover { color:var(--accent-dark); }
.product-card>p { color:var(--muted); font-size:14px; line-height:1.7; margin-bottom:24px; }
.product-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; border-top:1px solid var(--line); padding-top:17px; font-size:13px; }
.product-bottom>span { color:#586777; flex:1 1 auto; min-width:0; line-height:1.45; }
.product-bottom .text-link { flex:0 0 auto; }
.product-card[hidden],#catalog-empty[hidden] { display:none; }
#catalog-empty { padding:48px 0; font-size:18px; }
.catalog-contact { padding:56px 0 64px; margin-top:48px; border-top:1px solid var(--line); }
.catalog-contact h2 { font-size:28px; }
.catalog-contact p { color:var(--muted); }
.detail-heading { padding:20px 0 36px; border-bottom:1px solid var(--line); }
.detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:70px; padding-top:16px; }
.detail-section { padding:28px 0; border-bottom:1px solid var(--line); }
.detail-section h2 { font-size:25px; margin-bottom:18px; }
.detail-section p,.detail-section li { color:#475467; font-size:16px; line-height:1.8; }
.detail-section li { padding-left:5px; margin-bottom:10px; }
.detail-section ul,.detail-section ol { padding-left:23px; margin-bottom:0; }
.product-aside { align-self:start; position:sticky; top:100px; padding:28px 0 28px 24px; margin-top:22px; border-left:3px solid #25877b; }
.product-aside h2 { font-size:24px; line-height:1.3; }
.product-aside p { color:var(--muted); font-size:14px; line-height:1.7; }
.product-aside .button { width:100%; padding:12px; border-radius:8px; }
.product-aside dt { margin:22px 0 5px; color:var(--muted); font-size:12px; }
.product-aside dd { margin:0; font-size:14px; }
.product-aside .small-note { font-size:12px; margin-top:24px; }
.related { padding:48px 0 64px; }
.related h2 { font-size:25px; }
.related>a { display:inline-block; margin:0 24px 14px 0; color:#246e64; text-underline-offset:4px; }
.screenshots figure { margin:20px 0; }
.screenshots img { max-width:100%; height:auto; border:1px solid var(--line); }
.screenshots figcaption { color:var(--muted); font-size:14px; }
@media(max-width:1000px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalog-filters { grid-template-columns:1.5fr 1fr; } .detail-layout { gap:32px; grid-template-columns:minmax(0,1fr) 280px; } }
@media(max-width:700px) { .catalog-heading { grid-template-columns:1fr; gap:16px; padding-top:8px; } .catalog-count { display:none; } .catalog-page h1 { font-size:34px; } .catalog-lead { font-size:16px; } .catalog-grid,.detail-layout { grid-template-columns:1fr; } .catalog-filters { grid-template-columns:1fr 1fr; gap:16px 12px; } .search-label { grid-column:1/-1; } .reset-filters { text-align:left; height:30px; padding:0; } .product-card { min-height:260px; } .product-aside { position:static; margin-top:0; } .detail-layout { gap:16px; } .detail-heading { padding-top:8px; } .catalog-status span { font-size:12px; } .breadcrumbs { font-size:12px; } }
