/* INFOBUDO — katalog produktów */
.catalog-page { background:#f3f7f9; min-height:70vh; padding:34px 22px 80px; }
.catalog-shell { max-width:1240px; margin:0 auto; }
.catalog-breadcrumbs { display:flex; gap:10px; align-items:center; color:#6c7e8b; font-size:13px; margin-bottom:28px; }
.catalog-breadcrumbs a { color:#466173; text-decoration:none; }
.catalog-breadcrumbs a:hover { color:#0d77bd; }
.catalog-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:30px; }
.catalog-kicker { color:#d26422; font-size:11px; font-weight:800; letter-spacing:.14em; }
.catalog-heading h1 { margin:8px 0; color:#102c49; font-size:clamp(30px,4vw,50px); line-height:1.05; }
.catalog-heading p { margin:0; color:#627481; }
.catalog-count { display:flex; flex-direction:column; align-items:flex-end; color:#627481; white-space:nowrap; }
.catalog-count strong { color:#102c49; font-size:32px; line-height:1; }
.catalog-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; align-items:start; }
.catalog-sidebar { background:#fff; border:1px solid #dbe5ea; border-radius:18px; padding:20px; position:sticky; top:20px; }
.catalog-sidebar-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.catalog-sidebar h2, .catalog-results h2 { color:#102c49; margin:0; font-size:22px; }
.catalog-sidebar-head a { color:#d26422; font-size:12px; text-decoration:none; }
.catalog-filter-section { border-top:1px solid #e5ecef; padding-top:18px; }
.catalog-filter-section h3 { color:#102c49; font-size:14px; margin:0 0 10px; }
.catalog-all-link, .catalog-category-tree a { display:block; color:#496170; text-decoration:none; font-size:14px; line-height:1.35; padding:7px 8px; border-radius:8px; }
.catalog-all-link:hover, .catalog-category-tree a:hover, .catalog-all-link.is-active, .catalog-category-tree a.is-active { background:#edf6fb; color:#0d77bd; font-weight:700; }
.catalog-category-tree details { margin-top:3px; }
.catalog-category-tree summary { list-style:none; cursor:pointer; display:flex; align-items:center; }
.catalog-category-tree summary::-webkit-details-marker { display:none; }
.catalog-category-tree summary:before { content:'+'; color:#81939e; width:18px; font-weight:800; }
.catalog-category-tree details[open] > summary:before { content:'−'; }
.catalog-category-tree summary a { flex:1; }
.catalog-subcategories { margin:0 0 5px 18px; border-left:1px solid #dce7ec; padding-left:7px; }
.catalog-filters { border-top:1px solid #e5ecef; margin-top:18px; padding-top:18px; display:grid; gap:13px; }
.catalog-filters label, .catalog-sort-form label { color:#526672; display:grid; gap:6px; font-size:12px; font-weight:700; }
.catalog-filters select, .catalog-filters input, .catalog-sort-form select { width:100%; box-sizing:border-box; border:1px solid #cbd9df; background:#fff; border-radius:8px; padding:9px 10px; color:#213d52; font:inherit; font-weight:400; }
.catalog-price-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.catalog-checkbox { display:flex !important; align-items:center; gap:8px !important; font-weight:600 !important; }
.catalog-checkbox input { width:auto; }
.catalog-submit { border:0; border-radius:9px; padding:11px 13px; background:#d26422; color:#fff; cursor:pointer; font-weight:800; }
.catalog-submit:hover { background:#b85118; }
.catalog-results { min-width:0; }
.catalog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:16px; }
.catalog-toolbar > div:first-child { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.catalog-chip { background:#e5f3f8; color:#0d668e; border-radius:999px; padding:6px 10px; font-size:12px; }
.catalog-sort-form { min-width:170px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.catalog-card { min-width:0; overflow:hidden; background:#fff; border:1px solid #dbe5ea; border-radius:15px; transition:transform .18s ease,box-shadow .18s ease; }
.catalog-card:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(16,44,73,.1); }
.catalog-card-image { display:flex; align-items:center; justify-content:center; height:210px; padding:14px; background:#fff; text-decoration:none; }
.catalog-card-image img { max-width:100%; max-height:100%; object-fit:contain; }
.catalog-no-image { display:grid; place-items:center; width:100%; height:100%; color:#c0cdd3; font-size:14px; font-weight:800; letter-spacing:.12em; }
.catalog-card-body { display:grid; gap:7px; padding:15px; border-top:1px solid #edf1f3; }
.catalog-card-category { color:#d26422; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.catalog-card-title { color:#193c55; display:block; font-size:15px; font-weight:750; line-height:1.3; min-height:39px; text-decoration:none; }
.catalog-card-title:hover { color:#0d77bd; }
.catalog-card-brand { color:#6c7e8b; font-size:12px; }
.catalog-card-price { color:#102c49; font-size:17px; }
.catalog-empty { background:#fff; border:1px solid #dbe5ea; border-radius:15px; padding:40px; text-align:center; color:#627481; }
.catalog-empty strong { color:#102c49; font-size:20px; }
.catalog-empty a { display:inline-block; margin-top:14px; color:#0d77bd; font-weight:800; }
.catalog-pagination { display:flex; justify-content:center; align-items:center; gap:22px; margin:28px 0 0; color:#607582; font-size:14px; }
.catalog-pagination a { color:#0d77bd; font-weight:800; text-decoration:none; }
.catalog-filter-toggle { display:none; }
.catalog-filter-icon { display:grid; width:24px; height:24px; place-items:center; border-radius:7px; background:#eaf5fb; color:#0d77bd; font-size:18px; line-height:1; }
@media (max-width:980px) { .catalog-layout { grid-template-columns:240px minmax(0,1fr); gap:18px; } .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .catalog-page { padding:24px 14px 60px; } .catalog-heading { align-items:start; } .catalog-count { display:none; } .catalog-filter-toggle { display:flex; align-items:center; gap:10px; width:100%; border:1px solid #cbd9df; border-radius:10px; background:#fff; color:#102c49; padding:12px; margin:0 0 14px; font-weight:800; text-align:left; } .catalog-layout { display:block; } .catalog-sidebar { display:none; position:static; margin-bottom:18px; } .catalog-sidebar.is-open { display:block; } .catalog-toolbar { align-items:flex-start; flex-direction:column; } .catalog-sort-form { width:100%; } .catalog-grid { gap:12px; } .catalog-card-image { height:160px; padding:10px; } .catalog-card-body { padding:12px; } .catalog-card-title { font-size:13px; min-height:51px; } .catalog-card-price { font-size:15px; } }
@media (max-width:430px) { .catalog-grid { grid-template-columns:1fr 1fr; } .catalog-card-category { font-size:9px; } .catalog-card-brand { font-size:11px; } }
