

/* Start:/local/templates/zipteh/components/bitrix/catalog/catalog/style.min.css?179386987510313*/
:root{--zip-yellow:#ffbd00;--zip-yellow-hover:#eaaa00;--zip-dark:#1b2028;--zip-text:#252b35;--zip-muted:#7c8491;--zip-border:#e3e6ea;--zip-soft:#f5f6f8;--zip-success:#239849;--zip-order:#d98100;--zip-catalog-sidebar:252px;--zip-catalog-gap:24px}.zip-visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}.content-area.content-area-catalog.zip-catalog-page{margin:0 !important;padding:26px 0 52px !important;background:#fff}.zip-catalog-page,.zip-catalog-page *{box-sizing:border-box}.zip-catalog-heading{margin-bottom:18px}.zip-catalog-heading__top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:0}.zip-catalog-title{margin:0 !important;color:var(--zip-dark);font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.08}.zip-catalog-heading__caption{padding-bottom:4px;color:#969ca5;font-size:12px;font-weight:600;letter-spacing:.045em;text-transform:uppercase}.zip-catalog-status-tabs{display:flex;flex-wrap:wrap;gap:8px}.zip-catalog-status-tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 15px;border:1px solid var(--zip-border);border-radius:8px;color:#59616d;background:#fff;font-size:13px;font-weight:700;text-decoration:none !important;transition:border-color .2s ease,background .2s ease,color .2s ease}.zip-catalog-status-tab__dot{width:8px;height:8px;border-radius:50%;background:#b7bdc5}.zip-catalog-status-tab:hover,.zip-catalog-status-tab.is-active{border-color:var(--zip-yellow);color:#1c2129;background:#fff8dc}.zip-catalog-status-tab.is-active .zip-catalog-status-tab__dot{background:var(--zip-success)}.zip-catalog-status-tab--order.is-active .zip-catalog-status-tab__dot{background:var(--zip-order)}.zip-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding:14px;border:1px solid var(--zip-border);border-radius:13px;background:#fff;box-shadow:0 8px 24px rgba(24,30,38,.045)}.zip-catalog-search{position:relative;flex:1 1 520px;max-width:650px}.zip-catalog-search input{display:block;width:100%;height:46px;padding:0 54px 0 16px;border:1px solid var(--zip-border);border-radius:9px;outline:none;color:var(--zip-text);background:#fafbfc;font:inherit;font-size:13px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.zip-catalog-search input:focus{border-color:var(--zip-yellow);background:#fff;box-shadow:0 0 0 3px rgba(255,189,0,.12)}.zip-catalog-search button{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:7px;color:#2b313a;background:transparent;cursor:pointer}.zip-catalog-search button:hover{background:#fff4c9}.zip-catalog-search svg,.zip-catalog-filter-toggle svg,.zip-catalog-sort svg,.zip-catalog-view-switch svg,.zip-catalog-sidebar__mobile-head svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.zip-catalog-toolbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.zip-catalog-filter-toggle{display:none;align-items:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid var(--zip-border);border-radius:8px;color:var(--zip-text);background:#fff;font:inherit;font-size:12px;font-weight:700}.zip-catalog-sort{position:relative;display:block}.zip-catalog-sort select{min-width:190px;height:42px;padding:0 40px 0 13px;border:1px solid var(--zip-border);border-radius:8px;outline:none;color:#535b67;background:#fff;font:inherit;font-size:12px;appearance:none;cursor:pointer}.zip-catalog-sort select:focus{border-color:var(--zip-yellow)}.zip-catalog-sort>svg{position:absolute;top:50%;right:12px;width:16px;height:16px;pointer-events:none;transform:translateY(-50%)}.zip-catalog-view-switch{display:inline-flex;gap:6px}.zip-catalog-view-switch .sort-line,.zip-catalog-view-switch .sort-cards{display:inline-flex !important;align-items:center;justify-content:center;width:42px !important;height:42px !important;padding:0 !important;border:1px solid var(--zip-border) !important;border-radius:8px !important;color:#6e7580 !important;background:#fff !important;cursor:pointer}.zip-catalog-view-switch .sort-line:hover,.zip-catalog-view-switch .sort-cards:hover,.zip-catalog-view-switch .sort-line.active,.zip-catalog-view-switch .sort-cards.active{border-color:var(--zip-yellow) !important;color:#20252c !important;background:#fff8dc !important}.zip-catalog-layout{display:grid;grid-template-columns:var(--zip-catalog-sidebar) minmax(0,1fr);align-items:start;gap:var(--zip-catalog-gap)}.zip-catalog-sidebar{position:sticky;top:16px;min-width:0}.zip-catalog-sidebar__mobile-head,.zip-catalog-sidebar-overlay{display:none}.zip-category-panel,.zip-filter-card,.zip-catalog-extra-sidebar{overflow:hidden;margin-bottom:16px;border:1px solid var(--zip-border);border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(24,30,38,.035)}.zip-sidebar-title{padding:15px 16px 12px;color:var(--zip-dark);font-size:14px;font-weight:800}.zip-category-panel{padding-bottom:9px}.zip-category-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;margin:0 8px 2px;padding:8px 9px;border-radius:7px;color:#555e6a;font-size:12px;line-height:1.3;text-decoration:none !important;transition:color .2s ease,background .2s ease}.zip-category-link small{flex:0 0 auto;color:#a0a6af;font-size:10px}.zip-category-link:hover,.zip-category-link.is-active{color:#1d2229;background:#fff7d8}.zip-category-link.is-active{font-weight:750}.zip-catalog-main{min-width:0}.zip-catalog-main>.catalog-section{width:100%}.zip-catalog-page .bx-pagination,.zip-catalog-page .modern-page-navigation,.zip-catalog-page [data-pagination-num]{margin-top:24px}.zip-catalog-page .bx-pagination .bx-pagination-container ul,.zip-catalog-page .modern-page-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;padding:0;list-style:none}.zip-catalog-page .bx-pagination .bx-pagination-container ul li,.zip-catalog-page .modern-page-navigation a,.zip-catalog-page .modern-page-navigation span{margin:0 !important}.zip-catalog-page .bx-pagination .bx-pagination-container ul li span,.zip-catalog-page .bx-pagination .bx-pagination-container ul li a,.zip-catalog-page .modern-page-navigation a,.zip-catalog-page .modern-page-navigation span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--zip-border);border-radius:8px;color:#555d68;background:#fff;font-size:12px;text-decoration:none !important}.zip-catalog-page .bx-pagination .bx-pagination-container ul li.bx-active span,.zip-catalog-page .modern-page-navigation .modern-page-current{border-color:var(--zip-yellow);color:#171b21;background:var(--zip-yellow)}@media (max-width:1180px){:root{--zip-catalog-sidebar:228px;--zip-catalog-gap:18px}.zip-catalog-sort select{min-width:170px}}@media (max-width:900px){.zip-catalog-heading__caption{display:none}.zip-catalog-toolbar{align-items:stretch;flex-direction:column}.zip-catalog-search{max-width:none}.zip-catalog-toolbar__actions{justify-content:space-between}.zip-catalog-filter-toggle{display:inline-flex}.zip-catalog-layout{display:block}.zip-catalog-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:1202;width:min(360px,90vw);padding:16px;overflow-y:auto;background:#f7f8fa;box-shadow:24px 0 60px rgba(19,24,31,.22);transform:translateX(-105%);transition:transform .25s ease}.zip-catalog-sidebar.is-open{transform:translateX(0)}.zip-catalog-sidebar__mobile-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;color:var(--zip-dark)}.zip-catalog-sidebar__mobile-head button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--zip-border);border-radius:8px;color:var(--zip-dark);background:#fff}.zip-catalog-sidebar-overlay{position:fixed;inset:0;z-index:1201;background:rgba(18,23,29,.44)}body.zip-filter-open{overflow:hidden}body.zip-filter-open .zip-catalog-sidebar-overlay{display:block}}@media (max-width:620px){.content-area.content-area-catalog.zip-catalog-page{padding-top:18px !important}.zip-catalog-heading__top{margin-bottom:0}.zip-catalog-status-tabs{display:grid;grid-template-columns:1fr 1fr}.zip-catalog-status-tab{justify-content:center;padding-inline:10px}.zip-catalog-toolbar{margin-bottom:16px;padding:10px;border-radius:10px}.zip-catalog-toolbar__actions{gap:7px}.zip-catalog-filter-toggle span{display:none}.zip-catalog-sort{flex:1 1 auto}.zip-catalog-sort select{width:100%;min-width:0}.zip-catalog-view-switch .sort-line,.zip-catalog-view-switch .sort-cards{width:40px !important;height:40px !important}}:root{--zip-catalog-shell-max:2048px;--zip-catalog-shell-padding:28px}html body .zip-catalog-page,html body .content-area.content-area-catalog.zip-catalog-page{position:relative !important;left:50% !important;right:auto !important;width:100vw !important;width:100dvw !important;min-width:0 !important;max-width:none !important;margin:0 !important;padding-right:0 !important;padding-left:0 !important;overflow:visible !important;transform:translateX(-50%) !important}html body .zip-catalog-page>.container,html body .content-area.content-area-catalog.zip-catalog-page>.container{box-sizing:border-box !important;width:100% !important;min-width:0 !important;max-width:var(--zip-catalog-shell-max) !important;margin-right:auto !important;margin-left:auto !important;padding-right:var(--zip-catalog-shell-padding) !important;padding-left:var(--zip-catalog-shell-padding) !important}html body .zip-catalog-page .zip-catalog-heading,html body .zip-catalog-page .zip-catalog-toolbar,html body .zip-catalog-page .zip-catalog-layout,html body .zip-catalog-page .zip-catalog-main,html body .zip-catalog-page .catalog-section,html body .zip-catalog-page .cards,html body .zip-catalog-page .items{width:100% !important;min-width:0 !important;max-width:none !important}@media (max-width:1480px){:root{--zip-catalog-shell-padding:20px}}@media (max-width:680px){:root{--zip-catalog-shell-padding:14px}}
/* End */


/* Start:/local/templates/zipteh/assets/styles/poisk-results.css?179386987568447*/
:root {
    --zt-brand: #ffb800;
    --zt-brand-hover: #eaaa00;
    --zt-brand-active: #d99f00;
    --zt-brand-soft: #fff7df;
    --zt-brand-rgb: 255, 184, 0;
    --zt-ink: #0f141a;
    --zt-secondary: #4d5966;
    --zt-muted: #7b8793;
    --zt-border: #d4dce3;
    --zt-divider: #e5e9ed;
    --zt-surface: #f7f8fa;
    --zt-surface-alt: #f2f4f6;
    --zt-success: #168747;
    --zt-success-hover: #0f743b;
    --zt-success-soft: #effaf3;
    --zt-danger-alt: #c83a3a;
    --zt-danger-soft: #fff0f0;
    --zt-font-family: Inter, Arial, sans-serif;
    --zt-radius-5: 5px;
    --zt-radius-6: 6px;
    --zt-radius-7: 7px;
    --zt-radius-10: 10px;
    --zt-radius-11: 11px;
    --zt-radius-12: 12px;
    --zt-radius-20: 20px;
    --zt-radius-card: 12px;
    --zt-radius-control: 10px;
    --zt-focus-ring: 0 0 0 3px rgba(255, 184, 0, .18);
}

.poisk-results-container {
width: 100%;
}
.poisk-results-container .t-col_12 {
box-sizing: border-box;
}
.poisk-results {
--poisk-yellow:var(--zt-brand);
--poisk-yellow-hover:var(--zt-brand-hover);
--poisk-yellow-active:var(--zt-brand-active);
--poisk-yellow-soft:var(--zt-brand-soft);
--poisk-text:var(--zt-ink);
--poisk-secondary:var(--zt-secondary);
--poisk-muted:var(--zt-muted);
--poisk-border:var(--zt-border);
--poisk-divider:var(--zt-divider);
--poisk-light:var(--zt-surface);
--poisk-light-2:var(--zt-surface-alt);
--poisk-green:var(--zt-success);
--poisk-green-hover:var(--zt-success-hover);
--poisk-green-soft:var(--zt-success-soft);
--poisk-red:var(--zt-danger-alt);
--poisk-red-soft:var(--zt-danger-soft);
--poisk-toolbar-sticky-top: 10px;
--poisk-toolbar-height: 58px;
width: 100%;
max-width: none;
margin: 32px 0 80px;
padding: 0;
box-sizing: border-box;
color: var(--poisk-text);
font-family:
var(--zt-font-family);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.poisk-results[hidden],
.poisk-results__loading[hidden],
.poisk-results__empty[hidden],
.poisk-results__error[hidden],
.poisk-results__catalog[hidden],
.poisk-results__batch-summary[hidden],
.poisk-pagination[hidden],
.poisk-filters__backdrop[hidden],
.poisk-product__added[hidden],
.poisk-cart-toast[hidden] {
display: none !important;
}
.poisk-results *,
.poisk-results *::before,
.poisk-results *::after,
.poisk-cart-toast *,
.poisk-cart-toast *::before,
.poisk-cart-toast *::after {
box-sizing: border-box;
}
.poisk-results button,
.poisk-results input {
font-family: inherit;
}
.poisk-results__header {
margin-bottom: 18px;
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 30px;
}
.poisk-results__header-content {
min-width: 0;
}
.poisk-results__label {
margin-bottom: 8px;
color: var(--poisk-yellow);
font-size: 12px;
font-weight: 800;
line-height: 1.2;
letter-spacing: 0.12em;
}
.poisk-results__title {
margin: 0;
color: var(--poisk-text);
font-size: clamp(30px, 4vw, 46px);
font-weight: 800;
line-height: 1.08;
letter-spacing: -0.035em;
}
.poisk-results__title span {
color: var(--poisk-yellow);
}
.poisk-results__subtitle {
margin: 10px 0 0;
color: var(--poisk-secondary);
font-size: 15px;
font-weight: 500;
line-height: 1.5;
}
.poisk-results__counter {
flex: 0 0 auto;
padding-bottom: 4px;
color: var(--poisk-secondary);
font-size: 14px;
font-weight: 650;
line-height: 1.4;
white-space: nowrap;
}
.poisk-results__query {
min-height: 52px;
margin-bottom: 16px;
padding: 14px 18px;
display: flex;
align-items: center;
background: var(--poisk-light);
color: var(--poisk-secondary);
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-10);
font-size: 14px;
font-weight: 500;
line-height: 1.45;
}
.poisk-results__query strong {
color: var(--poisk-text);
font-weight: 750;
}
.poisk-results__batch-summary {
margin: -4px 0 16px;
padding: 12px 16px;
display: flex;
align-items: flex-start;
flex-wrap: wrap;
gap: 8px 14px;
background: #FFFDF5;
color: var(--poisk-secondary);
border: 1px solid rgba(var(--zt-brand-rgb), 0.35);
border-radius:var(--zt-radius-10);
font-size: 12px;
line-height: 1.45;
}
.poisk-results__batch-summary strong {
color: var(--poisk-text);
font-weight: 750;
}
.poisk-results__batch-summary-found {
color: var(--poisk-green);
font-weight: 700;
}
.poisk-results__batch-summary-missing {
color: var(--zt-danger-alt);
font-weight: 700;
}
.poisk-results__batch-missing-list {
width: 100%;
display: flex;
flex-wrap: wrap;
gap: 5px;
}
.poisk-results__batch-missing-list span {
padding: 4px 7px;
background: var(--zt-danger-soft);
color: #8B3535;
border-radius:var(--zt-radius-5);
font-size: 10px;
font-weight: 650;
}
.poisk-results__toolbar {
position: sticky;
top: var(--poisk-toolbar-sticky-top);
z-index: 80;
width: 100%;
min-height: 58px;
margin-bottom: 18px;
padding: 10px 12px 10px 18px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 18px;
background:
linear-gradient(135deg, var(--zt-ink) 0%, #19222D 100%);
color: #FFFFFF;
border: 1px solid #252F3A;
border-radius:var(--zt-radius-11);
box-shadow:
0 10px 28px
rgba(17, 24, 32, 0.12);
isolation: isolate;
}
.poisk-results__toolbar[hidden] {
display: none !important;
}
.poisk-results__toolbar-summary {
min-width: 0;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 7px;
color: #D5DAE0;
font-size: 13px;
font-weight: 500;
line-height: 1.4;
}
.poisk-results__toolbar-summary strong {
overflow: hidden;
color: #FFFFFF;
font-size: 15px;
font-weight: 800;
text-overflow: ellipsis;
white-space: nowrap;
}
.poisk-results__toolbar-badge {
min-height: 24px;
padding: 4px 8px;
display: inline-flex;
align-items: center;
background: #29333E;
color: #C7CDD4;
border: 1px solid #36414C;
border-radius:var(--zt-radius-6);
font-size: 10px;
font-weight: 700;
line-height: 1.2;
}
.poisk-results__toolbar-actions {
flex: 0 0 auto;
display: flex;
align-items: center;
gap: 8px;
}
.poisk-results__export-label {
margin-right: 2px;
color: #ABB3BC;
font-size: 10px;
font-weight: 600;
white-space: nowrap;
}
.poisk-results__export-button {
min-height: 36px;
padding: 0 12px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 7px;
background: #222C37;
color: #FFFFFF;
border: 1px solid #33404D;
border-radius:var(--zt-radius-7);
font-family: inherit;
font-size: 11px;
font-weight: 750;
line-height: 1;
cursor: pointer;
transition:
background-color 0.18s ease,
border-color 0.18s ease,
transform 0.12s ease;
}
.poisk-results__export-button svg {
width: 16px;
height: 16px;
fill: none;
stroke: currentColor;
stroke-width: 1.7;
stroke-linecap: round;
stroke-linejoin: round;
}
.poisk-results__export-button:hover {
background: #303C49;
border-color: #465462;
}
.poisk-results__export-button:active {
transform: translateY(1px);
}
.poisk-results__export-button:disabled {
opacity: 0.45;
cursor: not-allowed;
}
.poisk-results__sort-wrap {
min-height: 36px;
min-width: 238px;
padding: 0 10px 0 12px;
display: flex;
align-items: center;
gap: 6px;
background: #17202A;
border: 1px solid #2C3743;
border-radius:var(--zt-radius-7);
}
.poisk-results__sort-wrap > span {
color: #8F99A4;
font-size: 10px;
font-weight: 600;
white-space: nowrap;
}
.poisk-results__sort {
width: 135px;
height: 34px;
min-width: 0;
padding: 0 22px 0 0;
appearance: auto;
background: transparent;
color: #FFFFFF;
border: 0;
outline: 0;
font-family: inherit;
font-size: 11px;
font-weight: 700;
cursor: pointer;
}
.poisk-results__sort option {
background: #FFFFFF;
color: var(--zt-ink);
}
.poisk-results__list {
width: 100%;
display: grid;
gap: 14px;
}
.poisk-pagination {
width: 100%;
margin-top: 20px;
padding: 14px 16px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
background: #FFFFFF;
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-card);
}
.poisk-pagination__info {
color: var(--poisk-secondary);
font-size: 12px;
font-weight: 600;
line-height: 1.4;
}
.poisk-pagination__controls,
.poisk-pagination__pages {
display: flex;
align-items: center;
gap: 7px;
}
.poisk-pagination__button {
min-width: 38px;
height: 38px;
padding: 0 11px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 7px;
background: #FFFFFF;
color: var(--poisk-text);
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-7);
font-family: inherit;
font-size: 12px;
font-weight: 750;
line-height: 1;
cursor: pointer;
transition:
background-color 0.18s ease,
border-color 0.18s ease,
color 0.18s ease,
transform 0.12s ease;
}
.poisk-pagination__button:hover:not(:disabled):not(.poisk-pagination__button--active) {
background: var(--poisk-yellow-soft);
border-color: rgba(var(--zt-brand-rgb), 0.55);
}
.poisk-pagination__button:active:not(:disabled) {
transform: translateY(1px);
}
.poisk-pagination__button--active {
background: var(--poisk-yellow);
color: var(--poisk-text);
border-color: var(--poisk-yellow);
cursor: default;
}
.poisk-pagination__button:disabled {
background: var(--poisk-light);
color: #A6AFB8;
border-color: var(--poisk-divider);
cursor: not-allowed;
}
.poisk-pagination__ellipsis {
min-width: 24px;
color: var(--poisk-muted);
font-size: 13px;
font-weight: 700;
text-align: center;
}
.poisk-product {
position: relative;
width: 100%;
min-width: 0;
min-height: 164px;
padding: 12px 16px;
display: grid;
grid-template-columns:
135px
minmax(0, 1fr)
minmax(380px, 420px);
grid-template-rows: 1fr;
column-gap: 18px;
row-gap: 0;
align-items: stretch;
overflow: visible;
background: #FFFFFF;
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-card);
transition:
border-color 0.18s ease,
transform 0.18s ease;
}
.poisk-product::before {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 4px;
background: var(--poisk-yellow);
content: "";
opacity: 1;
transition: opacity 0.18s ease;
}
.poisk-product:hover {
z-index: 2;
border-color: #C4CDD5;
transform: translateY(-1px);
}
.poisk-product:hover::before {
opacity: 1;
}
.poisk-product__image-wrap {
position: relative;
grid-column: 1;
grid-row: 1;
width: 135px !important;
height: 90px !important;
min-height: 0 !important;
aspect-ratio: 3 / 2 !important;
flex: 0 0 135px;
align-self: center;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
background: var(--poisk-light-2);
border: 1px solid var(--poisk-divider);
border-radius:var(--zt-radius-10);
}
.poisk-product__image {
width: 100%;
height: 100%;
display: block;
object-fit: contain;
object-position: center;
}
.poisk-product__image-label {
position: absolute;
right: 8px;
bottom: 8px;
padding: 4px 7px;
background: rgba(255, 255, 255, 0.94);
color: var(--poisk-muted);
border: 1px solid var(--poisk-divider);
border-radius:var(--zt-radius-5);
font-size: 9px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.03em;
}
.poisk-product__content {
min-width: 0;
grid-column: 2;
grid-row: 1;
display: flex;
flex-direction: column;
justify-content: center;
}
.poisk-product__info {
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
}
.poisk-product__heading {
min-width: 0;
display: flex;
align-items: center;
gap: 12px;
}
.poisk-product__badges {
margin-bottom: 0;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.poisk-product__brand {
min-height: 27px;
padding: 5px 9px;
display: inline-flex;
align-items: center;
background: var(--poisk-yellow-soft);
color: #896100;
border: 1px solid rgba(var(--zt-brand-rgb), 0.35);
border-radius:var(--zt-radius-6);
font-size: 11px;
font-weight: 800;
line-height: 1.2;
letter-spacing: 0.04em;
}
.poisk-product__stock {
min-height: 27px;
margin-left: auto;
padding: 5px 9px;
display: inline-flex;
align-items: center;
gap: 7px;
background: var(--poisk-green-soft);
color: var(--poisk-green);
border-radius:var(--zt-radius-6);
font-size: 11px;
font-weight: 750;
line-height: 1.2;
white-space: nowrap;
}
.poisk-product__stock::before {
width: 7px;
height: 7px;
flex: 0 0 7px;
background: currentColor;
border-radius: 50%;
content: "";
}
.poisk-product__stock--empty {
background: var(--poisk-red-soft);
color: var(--poisk-red);
}
.poisk-product__title {
min-width: 0;
margin: 0;
flex: 0 1 auto;
overflow: hidden;
color: var(--poisk-text);
font-size: 17px;
font-weight: 750;
line-height: 1.3;
letter-spacing: -0.015em;
text-overflow: ellipsis;
white-space: nowrap;
}
.poisk-product__properties {
margin-top: 16px;
display: grid;
grid-template-columns:
minmax(0, 0.9fr)
minmax(0, 0.65fr)
minmax(0, 0.95fr)
minmax(0, 1.4fr)
minmax(0, 1fr);
gap: 11px 18px;
align-items: end;
}
.poisk-product__property {
min-width: 0;
}
.poisk-product__property--wide {
grid-column: auto;
}
.poisk-product__property--location {
display: none;
}
.poisk-product__property--unit-price .poisk-product__property-value {
font-weight: 800;
}
.poisk-product__property-label {
margin-bottom: 3px;
display: block;
color: var(--poisk-muted);
font-size: 11px;
font-weight: 500;
line-height: 1.3;
}
.poisk-product__property-value {
display: block;
overflow: hidden;
color: var(--poisk-text);
font-size: 13px;
font-weight: 650;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.poisk-product__property-value--wrap {
white-space: normal;
word-break: break-word;
}
.poisk-product__replacements {
position: relative;
max-width: 100%;
padding: 0;
display: inline-flex;
align-items: center;
background: transparent;
color: var(--poisk-text);
border: 0;
border-bottom: 1px dashed rgba(15, 20, 26, 0.36);
font: inherit;
font-size: 13px;
font-weight: 650;
line-height: 1.45;
text-align: left;
cursor: pointer;
}
.poisk-product__replacements > span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.poisk-product__replacements::before {
position: absolute;
bottom: calc(100% + 4px);
left: 15px;
z-index: 20;
width: 8px;
height: 8px;
background: var(--poisk-text);
content: "";
opacity: 0;
pointer-events: none;
transform: rotate(45deg) translateY(3px);
transition: opacity 0.16s ease, transform 0.16s ease;
}
.poisk-product__replacements::after {
position: absolute;
bottom: calc(100% + 8px);
left: 0;
z-index: 21;
padding: 7px 10px;
background: var(--poisk-text);
color: #FFFFFF;
border-radius:var(--zt-radius-6);
box-shadow: 0 8px 20px rgba(15, 20, 26, 0.18);
content: "Искать замены";
font-size: 11px;
font-weight: 700;
line-height: 1.2;
opacity: 0;
pointer-events: none;
white-space: nowrap;
transform: translateY(3px);
transition: opacity 0.16s ease, transform 0.16s ease;
}
.poisk-product__replacements:hover,
.poisk-product__replacements:focus-visible {
color: #8A6200;
border-color: #8A6200;
outline: none;
}
.poisk-product__replacements:hover::before,
.poisk-product__replacements:focus-visible::before {
opacity: 1;
transform: rotate(45deg) translateY(0);
}
.poisk-product__replacements:hover::after,
.poisk-product__replacements:focus-visible::after {
opacity: 1;
transform: translateY(0);
}
.poisk-product__delivery {
display: flex;
align-items: center;
gap: 7px;
}
.poisk-product__delivery svg {
width: 17px;
height: 17px;
flex: 0 0 17px;
color: #59636E;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.poisk-product__commerce {
min-width: 0;
margin-top: 20px;
padding-top: 18px;
grid-column: 2;
grid-row: 2;
display: grid;
grid-template-columns: repeat(2, max-content);
align-self: end;
justify-content: start;
border-top: 1px solid var(--poisk-divider);
}
.poisk-product__commerce-item {
min-width: 0;
padding: 0 30px;
display: flex;
align-items: center;
justify-content: center;
gap: 9px;
}
.poisk-product__commerce-item:first-child {
padding-left: 0;
}
.poisk-product__commerce-item:last-child {
padding-right: 0;
}
.poisk-product__commerce-item + .poisk-product__commerce-item {
border-left: 1px solid var(--poisk-divider);
}
.poisk-product__commerce-label {
margin-bottom: 0;
color: var(--poisk-muted);
font-size: 12px;
font-weight: 550;
line-height: 1.3;
}
.poisk-product__commerce-value {
min-width: 0;
display: flex;
align-items: center;
gap: 8px;
color: var(--poisk-text);
font-size: 13px;
font-weight: 750;
line-height: 1.35;
}
.poisk-product__commerce-value--price {
font-size: 15px;
font-weight: 800;
}
.poisk-product__commerce-value--stock {
color: var(--poisk-green);
}
.poisk-product__commerce-value--stock-empty {
color: var(--poisk-red);
}
.poisk-product__commerce-dot {
width: 7px;
height: 7px;
flex: 0 0 7px;
background: currentColor;
border-radius: 50%;
}
.poisk-product__commerce-icon {
width: 18px;
height: 18px;
flex: 0 0 18px;
color: #59636E;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}
.poisk-product__buy {
min-width: 0;
padding: 0 0 0 22px;
grid-column: 3;
grid-row: 1;
display: grid;
grid-template-rows: auto auto;
align-content: center;
gap: 15px;
border-left: 1px solid var(--poisk-divider);
}
.poisk-product__total-row {
margin: 0;
display: grid;
grid-template-columns: minmax(0, 1fr) 44px;
align-items: start;
gap: 16px;
}
.poisk-product__total-block {
min-width: 0;
}
.poisk-product__price-heading {
min-height: 30px;
display: flex;
align-items: center;
flex-wrap: nowrap;
gap: 14px;
}
.poisk-product__client-price-label {
height: 30px;
padding: 0 12px;
display: inline-flex;
align-items: center;
justify-content: center;
background: linear-gradient(180deg, #FFF7E7 0%, #FFF0CC 100%);
color: #E38B00;
border: 1px solid rgba(var(--zt-brand-rgb), 0.16);
border-radius: 7px;
font-size: 12px;
font-weight: 600;
line-height: 1;
letter-spacing: 0.005em;
white-space: nowrap;
}
.poisk-product__old-total-price {
min-width: 0;
overflow: hidden;
color: #858E98;
font-size: 13px;
font-weight: 500;
line-height: 1.2;
text-decoration-line: line-through;
text-decoration-color: currentColor;
text-decoration-thickness: 1.5px;
text-overflow: ellipsis;
white-space: nowrap;
}
.poisk-product__total-label {
display: none;
}
.poisk-product__total-price {
margin-top: 8px;
display: block;
color: var(--poisk-text);
font-size: 31px;
font-weight: 700;
line-height: 1;
letter-spacing: -0.025em;
white-space: nowrap;
}
.poisk-product__favorite {
width: 44px;
height: 44px;
flex: 0 0 44px;
margin-left: auto;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
background: #FFFFFF;
color: #606B76;
border: 1px solid #D5DCE3;
border-radius: 10px;
box-shadow: 0 2px 7px rgba(15, 20, 26, 0.025);
cursor: pointer;
transition:
background-color 0.18s ease,
border-color 0.18s ease,
box-shadow 0.18s ease,
color 0.18s ease,
transform 0.12s ease;
}
.poisk-product__favorite svg {
width: 23px;
height: 23px;
fill: none;
stroke: currentColor;
stroke-width: 1.9;
stroke-linecap: round;
stroke-linejoin: round;
}
.poisk-product__favorite:hover {
background: var(--poisk-yellow-soft);
color: var(--poisk-text);
border-color: rgba(var(--zt-brand-rgb), 0.55);
box-shadow: 0 4px 12px rgba(15, 20, 26, 0.06);
}
.poisk-product__favorite:active {
transform: scale(0.95);
}
.poisk-product__favorite--active {
background: #FFF1F1;
color: #D54848;
border-color: #F1CACA;
}
.poisk-product__favorite--active svg {
fill: currentColor;
}
.poisk-product__favorite--active:hover {
background: #FFE7E7;
color: #C83A3A;
border-color: #E9B7B7;
}
.poisk-product__quantity-label {
display: none;
}
.poisk-product__cart-control {
width: 100%;
min-width: 0;
display: grid;
grid-template-columns: 130px minmax(180px, 1fr);
align-items: stretch;
gap: 14px;
background: transparent;
border: 0;
box-shadow: none;
}
.poisk-product__quantity-block {
min-width: 0;
}
.poisk-product__quantity {
width: 100%;
height: 48px;
margin-bottom: 0;
display: grid;
grid-template-columns: 38px minmax(52px, 1fr) 38px;
overflow: hidden;
background: #FFFFFF;
border: 1px solid #D5DCE3 !important;
border-radius: 9px !important;
box-shadow: 0 2px 7px rgba(15, 20, 26, 0.025);
transition:
border-color 0.18s ease,
box-shadow 0.18s ease;
}
.poisk-product__quantity:focus-within {
border-color: var(--poisk-yellow) !important;
box-shadow: 0 0 0 3px rgba(var(--zt-brand-rgb), 0.14);
}
.poisk-product__quantity-button {
width: 38px;
height: 46px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
background: #FFFFFF;
color: #343E48;
border: 0;
font-size: 20px;
font-weight: 500;
line-height: 1;
cursor: pointer;
transition:
background-color 0.18s ease,
color 0.18s ease;
}
.poisk-product__quantity-button:hover {
background: var(--poisk-yellow-soft);
}
.poisk-product__quantity-button:disabled {
color: #BCC3CA;
cursor: not-allowed;
}
.poisk-product__quantity-input {
width: 100%;
height: 46px;
min-width: 0;
padding: 0;
appearance: textfield;
-moz-appearance: textfield;
background: #FFFFFF;
color: var(--poisk-text);
border: 0;
border-right: 1px solid #DEE3E8;
border-left: 1px solid #DEE3E8;
outline: none;
text-align: center;
font-size: 15px;
font-weight: 600;
}
.poisk-product__quantity-input::-webkit-outer-spin-button,
.poisk-product__quantity-input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
}
.poisk-product__cart-button {
width: 100%;
min-width: 0;
min-height: 48px;
padding: 0 18px;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
background: linear-gradient(180deg, #FFC72F 0%, #FFB800 100%);
color: #FFFFFF;
border: 1px solid #FFB800 !important;
border-radius: 9px !important;
box-shadow: 0 5px 12px rgba(var(--zt-brand-rgb), 0.17);
font-size: 14px;
font-weight: 600;
line-height: 1.2;
cursor: pointer;
transition:
background-color 0.18s ease,
border-color 0.18s ease,
box-shadow 0.18s ease,
color 0.18s ease,
transform 0.12s ease;
}
.poisk-product__cart-button svg {
width: 19px;
height: 19px;
flex: 0 0 19px;
fill: none;
stroke: currentColor;
stroke-width: 1.9;
stroke-linecap: round;
stroke-linejoin: round;
}
.poisk-product__cart-button span {
min-width: 0;
white-space: nowrap;
}
.poisk-product__cart-button strong {
font-weight: 700;
}
.poisk-product__cart-button:hover {
background: var(--poisk-yellow-hover);
border-color: var(--poisk-yellow-hover) !important;
box-shadow: 0 8px 18px rgba(var(--zt-brand-rgb), 0.25);
}
.poisk-product__cart-button:active {
background: var(--poisk-yellow-active);
transform: translateY(1px);
}
.poisk-product__cart-button:focus-visible {
outline: none;
box-shadow:
0 0 0 3px rgba(var(--zt-brand-rgb), 0.18),
0 7px 16px rgba(var(--zt-brand-rgb), 0.20);
}
.poisk-product__cart-button:disabled {
background: #E5E8EB;
color: #969FA8;
border-color: #E5E8EB !important;
box-shadow: none;
cursor: not-allowed;
}
.poisk-product__cart-button--added {
background: #FFFFFF;
color: #168747;
border-color: #168747 !important;
box-shadow: none;
}
.poisk-product__cart-button--added:hover {
background: #F0FBF4;
color: #0F743B;
border-color: #0F743B !important;
box-shadow: none;
}
.poisk-product__cart-button--added:focus-visible {
box-shadow: 0 0 0 3px rgba(22, 135, 71, 0.14);
}
.poisk-product__added {
margin-top: 9px;
padding: 8px 10px;
display: flex;
align-items: center;
justify-content: center;
gap: 7px;
background: var(--poisk-green-soft);
color: var(--poisk-green);
border-radius:var(--zt-radius-7);
font-size: 11px;
font-weight: 700;
line-height: 1.35;
text-align: center;
}
.poisk-product__added svg {
width: 15px;
height: 15px;
flex: 0 0 15px;
fill: none;
stroke: currentColor;
stroke-width: 2.2;
stroke-linecap: round;
stroke-linejoin: round;
}
.poisk-results__loading {
min-height: 230px;
align-items: center;
justify-content: center;
gap: 13px;
color: var(--poisk-secondary);
font-size: 14px;
font-weight: 600;
}
.poisk-results__loading:not([hidden]) {
display: flex;
}
.poisk-results__spinner {
width: 26px;
height: 26px;
border: 3px solid #E5E9ED;
border-top-color: var(--poisk-yellow);
border-radius: 50%;
animation: poisk-results-spin 0.75s linear infinite;
}
@keyframes poisk-results-spin {
to {
transform: rotate(360deg);
}
}
.poisk-results__empty,
.poisk-results__error {
padding: 50px 24px;
background: var(--poisk-light);
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-card);
text-align: center;
}
.poisk-results__empty-icon {
width: 62px;
height: 62px;
margin: 0 auto 17px;
display: flex;
align-items: center;
justify-content: center;
background: var(--poisk-yellow-soft);
color: var(--poisk-yellow);
border-radius: 50%;
}
.poisk-results__empty-icon svg {
width: 28px;
height: 28px;
fill: none;
stroke: currentColor;
stroke-width: 1.9;
stroke-linecap: round;
}
.poisk-results__empty h3,
.poisk-results__error strong {
display: block;
margin: 0 0 8px;
color: var(--poisk-text);
font-size: 21px;
font-weight: 750;
line-height: 1.3;
}
.poisk-results__empty p,
.poisk-results__error span {
margin: 0;
color: var(--poisk-secondary);
font-size: 14px;
line-height: 1.5;
}
.poisk-results__retry {
min-height: 42px;
margin-top: 16px;
padding: 0 20px;
background: var(--poisk-yellow);
color: var(--poisk-text);
border: 0;
border-radius:var(--zt-radius-control);
font-size: 14px;
font-weight: 750;
cursor: pointer;
}
.poisk-cart-toast {
position: fixed;
right: 24px;
bottom: 24px;
z-index: 999999;
width: min(410px, calc(100vw - 32px));
padding: 15px 17px;
display: flex;
align-items: center;
gap: 13px;
background: #FFFFFF;
color: var(--zt-ink);
border: 1px solid #CFE8D9;
border-radius:var(--zt-radius-12);
box-shadow:
0 16px 40px
rgba(17, 24, 32, 0.16);
font-family:
var(--zt-font-family);
transform: translateY(20px);
opacity: 0;
transition:
transform 0.22s ease,
opacity 0.22s ease;
}
.poisk-cart-toast--visible {
transform: translateY(0);
opacity: 1;
}
.poisk-cart-toast__icon {
width: 38px;
height: 38px;
flex: 0 0 38px;
display: flex;
align-items: center;
justify-content: center;
background: var(--zt-success-soft);
color: var(--zt-success);
border-radius: 50%;
}
.poisk-cart-toast__icon svg {
width: 20px;
height: 20px;
fill: none;
stroke: currentColor;
stroke-width: 2.2;
stroke-linecap: round;
stroke-linejoin: round;
}
.poisk-cart-toast__text {
min-width: 0;
display: flex;
flex-direction: column;
gap: 3px;
}
.poisk-cart-toast__text strong {
color: var(--zt-ink);
font-size: 14px;
font-weight: 800;
line-height: 1.25;
}
.poisk-cart-toast__text span {
overflow: hidden;
color: var(--zt-secondary);
font-size: 12px;
font-weight: 500;
line-height: 1.4;
text-overflow: ellipsis;
white-space: nowrap;
}
@media screen and (max-width: 1100px) {
.poisk-results__toolbar {
align-items: stretch;
flex-direction: column;
}
.poisk-results__toolbar-actions {
width: 100%;
flex-wrap: wrap;
}
.poisk-results__sort-wrap {
margin-left: auto;
}
}
@media screen and (max-width: 640px) {
.poisk-results__toolbar {
padding: 14px;
}
.poisk-results__toolbar-summary strong {
width: 100%;
}
.poisk-results__toolbar-actions {
display: grid;
grid-template-columns: 1fr 1fr;
}
.poisk-results__export-label {
grid-column: 1 / -1;
}
.poisk-results__export-button {
width: 100%;
}
.poisk-results__sort-wrap {
width: 100%;
min-width: 0;
margin-left: 0;
grid-column: 1 / -1;
}
.poisk-results__sort {
width: 100%;
}
}
@media screen and (max-width: 1199px) {
.poisk-product {
min-height: 154px;
padding: 12px 14px;
grid-template-columns:
120px
minmax(0, 1fr)
minmax(330px, 365px);
gap: 14px;
}
.poisk-product__image-wrap {
width: 120px !important;
height: 80px !important;
aspect-ratio: 3 / 2 !important;
flex-basis: 120px;
}
.poisk-product__properties {
grid-template-columns:
repeat(3, minmax(0, 1fr));
gap: 10px 14px;
}
.poisk-product__property--replacements {
grid-column: span 2;
}
.poisk-product__buy {
padding-left: 18px;
gap: 12px;
}
.poisk-product__client-price-label {
height: 27px;
padding: 0 10px;
font-size: 11px;
font-weight: 650;
}
.poisk-product__old-total-price {
font-size: 12px;
}
.poisk-product__total-price {
font-size: 28px;
font-weight: 700;
}
.poisk-product__favorite {
width: 40px;
height: 40px;
flex-basis: 40px;
}
.poisk-product__cart-control {
grid-template-columns: 118px minmax(155px, 1fr);
gap: 10px;
}
.poisk-product__quantity,
.poisk-product__cart-button {
min-height: 44px;
height: 44px;
}
.poisk-product__quantity {
grid-template-columns: 32px minmax(38px, 1fr) 32px;
}
.poisk-product__quantity-button {
width: 32px;
height: 42px;
}
.poisk-product__quantity-input {
height: 42px;
}
.poisk-product__cart-button {
gap: 7px;
font-size: 12.5px;
font-weight: 600;
}
.poisk-product__cart-button svg {
width: 17px;
height: 17px;
flex-basis: 17px;
}
}
@media screen and (max-width: 980px) {
.poisk-results-container {
padding-right: 20px;
padding-left: 20px;
}
.poisk-results-container .t-col {
width: 100%;
margin-right: 0;
margin-left: 0;
}
.poisk-product {
min-height: 0;
grid-template-columns:
120px
minmax(0, 1fr);
}
.poisk-product__image-wrap {
width: 120px !important;
height: 80px !important;
aspect-ratio: 3 / 2 !important;
flex-basis: 120px;
}
.poisk-product__image-wrap {
grid-column: 1;
grid-row: 1;
}
.poisk-product__content {
grid-column: 2;
grid-row: 1;
}
.poisk-product__buy {
grid-column: 1 / -1;
grid-row: auto;
padding-top: 12px;
padding-left: 0;
display: grid;
grid-template-columns:
minmax(170px, 1fr)
minmax(330px, 430px);
align-items: end;
gap: 12px;
border-top: 1px solid var(--poisk-divider);
border-left: 0;
}
.poisk-product__total-row {
margin-bottom: 0;
}
.poisk-product__cart-control {
align-self: end;
}
.poisk-product__added {
grid-column: 2;
}
}
@media screen and (max-width: 640px) {
.poisk-results-container {
padding-right: 10px;
padding-left: 10px;
}
.poisk-results {
margin-top: 24px;
margin-bottom: 60px;
}
.poisk-results__header {
align-items: flex-start;
flex-direction: column;
gap: 12px;
}
.poisk-results__counter {
padding-bottom: 0;
}
.poisk-results__query {
align-items: flex-start;
}
.poisk-product {
padding: 12px;
grid-template-columns:
90px
minmax(0, 1fr);
gap: 12px;
}
.poisk-product__image-wrap {
width: 90px !important;
height: 60px !important;
aspect-ratio: 3 / 2 !important;
flex-basis: 90px;
}
.poisk-product__image-label {
display: none;
}
.poisk-product__badges {
margin-bottom: 8px;
}
.poisk-product__heading {
align-items: flex-start;
display: grid;
grid-template-columns: auto minmax(0, 1fr);
gap: 7px 9px;
}
.poisk-product__heading .poisk-product__badges {
margin-bottom: 0;
}
.poisk-product__heading .poisk-product__stock {
margin-left: 0;
grid-column: 1 / -1;
justify-self: start;
}
.poisk-product__brand,
.poisk-product__stock {
font-size: 10px;
}
.poisk-product__title {
margin-bottom: 0;
font-size: 15px;
line-height: 1.35;
}
.poisk-product__properties {
margin-top: 12px;
grid-column: 1 / -1;
grid-template-columns:
repeat(2, minmax(0, 1fr));
gap: 11px 14px;
}
.poisk-product__property--wide {
grid-column: 1 / -1;
}
.poisk-product__buy {
grid-column: 1 / -1;
padding-top: 12px;
display: grid;
grid-template-columns: 1fr;
gap: 10px;
}
.poisk-product__cart-control {
grid-template-columns: 116px minmax(0, 1fr);
}
.poisk-product__added {
grid-column: auto;
}
.poisk-pagination {
padding: 12px;
align-items: stretch;
flex-direction: column;
}
.poisk-pagination__info {
text-align: center;
}
.poisk-pagination__controls {
justify-content: space-between;
}
.poisk-pagination__pages {
justify-content: center;
}
.poisk-pagination__button--direction span:not([aria-hidden]) {
display: none;
}
.poisk-cart-toast {
right: 16px;
bottom: 16px;
}
}
@media screen and (max-width: 420px) {
.poisk-pagination__controls,
.poisk-pagination__pages {
gap: 4px;
}
.poisk-pagination__button {
min-width: 34px;
height: 34px;
padding-right: 7px;
padding-left: 7px;
}
.poisk-pagination__button--first,
.poisk-pagination__button--last,
.poisk-pagination__button--edge,
.poisk-pagination__ellipsis {
display: none;
}
.poisk-product {
grid-template-columns: 72px minmax(0, 1fr);
}
.poisk-product__image-wrap {
width: 72px !important;
height: 48px !important;
aspect-ratio: 3 / 2 !important;
flex-basis: 72px;
}
.poisk-product__properties {
grid-template-columns: 1fr;
}
.poisk-product__property--wide {
grid-column: auto;
}
}
.poisk-results .poisk-results__toolbar {
background: #EEF2F5;
color: var(--poisk-text);
border: 1px solid var(--poisk-border);
box-shadow: 0 10px 26px rgba(15, 20, 26, 0.08);
}
.poisk-results .poisk-results__toolbar-summary {
color: rgba(15, 20, 26, 0.72);
}
.poisk-results .poisk-results__toolbar-summary strong {
color: var(--poisk-text);
}
.poisk-results .poisk-results__toolbar-badge {
background: #FFFFFF;
color: var(--poisk-text);
border-color: var(--poisk-border);
}
.poisk-results .poisk-results__export-label,
.poisk-results .poisk-results__sort-wrap > span {
color: rgba(15, 20, 26, 0.7);
}
.poisk-results .poisk-results__export-button,
.poisk-results .poisk-results__filter-toggle {
background: #FFFFFF;
color: var(--poisk-text);
border-color: var(--poisk-border);
}
.poisk-results .poisk-results__export-button:hover,
.poisk-results .poisk-results__filter-toggle:hover {
background: #FFFFFF;
border-color: rgba(15, 20, 26, 0.28);
}
.poisk-results .poisk-results__sort-wrap {
position: relative;
min-width: 286px;
min-height: 44px;
padding: 4px 36px 4px 13px;
gap: 10px;
background: #FFFFFF;
border-color: var(--poisk-border);
border-radius:var(--zt-radius-control);
}
.poisk-results .poisk-results__sort-wrap::after {
position: absolute;
top: 50%;
right: 15px;
width: 7px;
height: 7px;
border-right: 2px solid #53606B;
border-bottom: 2px solid #53606B;
content: "";
transform: translateY(-65%) rotate(45deg);
pointer-events: none;
}
.poisk-results .poisk-results__sort {
width: 170px;
height: 34px;
padding: 0 28px 0 11px;
appearance: none;
background: #FFFFFF;
color: var(--poisk-text);
border: 1px solid rgba(15, 20, 26, 0.16);
border-radius:var(--zt-radius-7);
cursor: pointer;
}
.poisk-results .poisk-results__sort:focus {
border-color: var(--poisk-yellow);
box-shadow: 0 0 0 3px rgba(var(--zt-brand-rgb), 0.16);
}
.poisk-results__query,
.poisk-results__counter {
display: none !important;
}
.poisk-results__filter-toggle {
min-height: 36px;
padding: 0 11px;
display: none;
align-items: center;
justify-content: center;
gap: 7px;
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-7);
font-family: inherit;
font-size: 11px;
font-weight: 750;
cursor: pointer;
}
.poisk-results__filter-toggle svg {
width: 16px;
height: 16px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
}
.poisk-results__filter-toggle-count {
min-width: 19px;
height: 19px;
padding: 0 5px;
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--poisk-yellow);
color: var(--poisk-text);
border-radius:var(--zt-radius-20);
font-size: 9px;
font-weight: 800;
}
.poisk-results__catalog {
position: relative;
display: grid;
grid-template-columns: 255px minmax(0, 1fr);
gap: 18px;
align-items: start;
}
.poisk-results__main {
min-width: 0;
}
.poisk-filters {
position: sticky;
top: 18px;
overflow: hidden;
background: linear-gradient(180deg, #FFFDF7 0%, #FFFFFF 100%);
border: 1px solid #EADFAF;
border-radius:var(--zt-radius-card);
box-shadow: 0 12px 32px rgba(139, 102, 0, 0.07);
color: var(--poisk-text);
}
.poisk-filters__header {
min-height: 74px;
padding: 17px 17px 14px;
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 12px;
background: linear-gradient(135deg, var(--zt-brand-soft) 0%, #FFFDF6 100%);
border-bottom: 1px solid #EEE2B5;
}
.poisk-filters__eyebrow {
display: block;
margin-bottom: 4px;
color: #9A7000;
font-size: 9px;
font-weight: 800;
line-height: 1.2;
letter-spacing: 0.09em;
}
.poisk-filters__title {
display: block;
color: var(--poisk-text);
font-size: 20px;
font-weight: 800;
line-height: 1.15;
}
.poisk-filters__header-actions {
display: flex;
align-items: center;
gap: 4px;
}
.poisk-filters__reset {
padding: 3px 0;
background: transparent;
color: var(--poisk-secondary);
border: 0;
border-bottom: 1px dashed #AAB1B8;
font-family: inherit;
font-size: 10px;
font-weight: 600;
cursor: pointer;
}
.poisk-filters__reset:hover {
color: #8A6200;
border-color: #8A6200;
}
.poisk-filters__reset:disabled {
opacity: 0.45;
cursor: default;
}
.poisk-filters__close {
width: 34px;
height: 34px;
padding: 0;
display: none;
align-items: center;
justify-content: center;
background: #FFFFFF;
color: var(--poisk-text);
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-control);
cursor: pointer;
}
.poisk-filters__close svg {
width: 17px;
height: 17px;
fill: none;
stroke: currentColor;
stroke-width: 2;
stroke-linecap: round;
}
.poisk-filters__group {
padding: 0 17px;
border-bottom: 1px solid var(--poisk-divider);
}
.poisk-filters__group--last {
border-bottom: 0;
}
.poisk-filters__group-title {
width: 100%;
min-height: 51px;
padding: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
background: transparent;
color: var(--poisk-text);
border: 0;
font-family: inherit;
font-size: 13px;
font-weight: 800;
text-align: left;
cursor: pointer;
}
.poisk-filters__group-title svg {
width: 17px;
height: 17px;
fill: none;
stroke: var(--zt-muted);
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
transition: transform 0.18s ease;
}
.poisk-filters__group-title[aria-expanded="false"] svg {
transform: rotate(180deg);
}
.poisk-filters__group-title[aria-expanded="false"] + .poisk-filters__group-body {
display: none;
}
.poisk-filters__group-body {
padding: 0 0 16px;
}
.poisk-filters__search {
position: relative;
display: block;
margin-bottom: 11px;
}
.poisk-filters__search svg {
position: absolute;
top: 50%;
left: 11px;
width: 15px;
height: 15px;
fill: none;
stroke: #A0A7AF;
stroke-width: 1.7;
stroke-linecap: round;
transform: translateY(-50%);
pointer-events: none;
}
.poisk-filters__search input {
width: 100%;
height: 38px;
padding: 0 10px 0 34px;
background: #FFFFFF;
color: var(--poisk-text);
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-control);
outline: none;
font-family: inherit;
font-size: 11px;
}
.poisk-filters__search input:focus,
.poisk-filters__price input:focus {
border-color: var(--poisk-yellow);
box-shadow: 0 0 0 3px rgba(var(--zt-brand-rgb), 0.13);
}
.poisk-filters__options {
display: grid;
gap: 8px;
}
.poisk-filters__option {
min-width: 0;
display: grid;
grid-template-columns: 17px minmax(0, 1fr) auto;
align-items: center;
gap: 8px;
color: var(--poisk-secondary);
font-size: 11px;
font-weight: 550;
line-height: 1.35;
cursor: pointer;
}
.poisk-filters__option input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.poisk-filters__checkbox {
position: relative;
width: 17px;
height: 17px;
background: #FFFFFF;
border: 1px solid #CFD6DD;
border-radius:var(--zt-radius-4);
transition: background-color 0.15s ease, border-color 0.15s ease;
}
.poisk-filters__option input:checked + .poisk-filters__checkbox {
background: var(--poisk-yellow);
border-color: var(--poisk-yellow);
}
.poisk-filters__option input:checked + .poisk-filters__checkbox::after {
position: absolute;
top: 3px;
left: 5px;
width: 4px;
height: 7px;
border-right: 2px solid var(--poisk-text);
border-bottom: 2px solid var(--poisk-text);
content: "";
transform: rotate(45deg);
}
.poisk-filters__option-text {
min-width: 0;
overflow: hidden;
color: var(--poisk-text);
text-overflow: ellipsis;
white-space: nowrap;
}
.poisk-filters__option-count {
color: var(--poisk-muted);
font-size: 10px;
}
.poisk-filters__more {
margin-top: 11px;
padding: 2px 0;
background: transparent;
color: #8A6200;
border: 0;
border-bottom: 1px dashed rgba(138, 98, 0, 0.5);
font-family: inherit;
font-size: 10px;
font-weight: 700;
cursor: pointer;
}
.poisk-filters__price {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 8px;
}
.poisk-filters__price label {
position: relative;
display: block;
}
.poisk-filters__price label > span {
position: absolute;
top: 50%;
left: 10px;
color: var(--poisk-muted);
font-size: 10px;
transform: translateY(-50%);
pointer-events: none;
}
.poisk-filters__price input {
width: 100%;
height: 40px;
padding: 0 8px 0 28px;
background: #FFFFFF;
color: var(--poisk-text);
border: 1px solid var(--poisk-border);
border-radius:var(--zt-radius-control);
outline: none;
font-family: inherit;
font-size: 11px;
font-weight: 650;
}
.poisk-filters__apply {
width: calc(100% - 34px);
min-height: 44px;
margin: 0 17px 17px;
padding: 0 14px;
display: none;
align-items: center;
justify-content: center;
gap: 4px;
background: var(--poisk-yellow);
color: var(--poisk-text);
border: 1px solid var(--poisk-yellow);
border-radius:var(--zt-radius-control);
font-family: inherit;
font-size: 12px;
font-weight: 800;
cursor: pointer;
}
.poisk-filters__backdrop {
display: none;
}
.poisk-results .poisk-filters {
top:
calc(
var(--poisk-toolbar-sticky-top) +
var(--poisk-toolbar-height) +
12px
);
background: #EEF2F5;
color: var(--poisk-text);
border-color: var(--poisk-border);
box-shadow: 0 14px 34px rgba(15, 20, 26, 0.1);
}
.poisk-results .poisk-filters__header {
background: #EEF2F5;
border-bottom-color: var(--poisk-border);
}
.poisk-results .poisk-filters__eyebrow {
color: rgba(15, 20, 26, 0.64);
}
.poisk-results .poisk-filters__title,
.poisk-results .poisk-filters__group-title,
.poisk-results .poisk-filters__option-text {
color: var(--poisk-text);
}
.poisk-results .poisk-filters__reset {
color: rgba(15, 20, 26, 0.62);
border-color: rgba(15, 20, 26, 0.38);
}
.poisk-results .poisk-filters__reset:hover,
.poisk-results .poisk-filters__more {
color: var(--poisk-text);
border-color: rgba(15, 20, 26, 0.5);
}
.poisk-results .poisk-filters__group {
border-bottom-color: rgba(15, 20, 26, 0.14);
}
.poisk-results .poisk-filters__group-title svg {
stroke: rgba(15, 20, 26, 0.62);
}
.poisk-results .poisk-filters__search input,
.poisk-results .poisk-filters__price input {
background: rgba(255, 255, 255, 0.86);
color: var(--poisk-text);
border-color: rgba(15, 20, 26, 0.18);
}
.poisk-results .poisk-filters__search input::placeholder,
.poisk-results .poisk-filters__price input::placeholder {
color: rgba(15, 20, 26, 0.5);
opacity: 1;
}
.poisk-results .poisk-filters__search svg {
stroke: rgba(15, 20, 26, 0.56);
}
.poisk-results .poisk-filters__option {
color: rgba(15, 20, 26, 0.78);
}
.poisk-results .poisk-filters__checkbox {
background: rgba(255, 255, 255, 0.9);
border-color: rgba(15, 20, 26, 0.24);
}
.poisk-results .poisk-filters__option input:checked + .poisk-filters__checkbox {
background: var(--poisk-text);
border-color: var(--poisk-text);
}
.poisk-results .poisk-filters__option input:checked + .poisk-filters__checkbox::after {
border-color: #FFFFFF;
}
.poisk-results .poisk-filters__option-count,
.poisk-results .poisk-filters__price label > span {
color: rgba(15, 20, 26, 0.52);
}
.poisk-results .poisk-filters__close {
background: rgba(255, 255, 255, 0.86);
color: var(--poisk-text);
border-color: rgba(15, 20, 26, 0.18);
}
.poisk-results .poisk-filters__apply {
background: var(--poisk-text);
color: #FFFFFF;
border-color: var(--poisk-text);
}
@media screen and (max-width: 1100px) {
.poisk-results__catalog {
grid-template-columns: 225px minmax(0, 1fr);
gap: 14px;
}
.poisk-filters__group,
.poisk-filters__header {
padding-right: 14px;
padding-left: 14px;
}
}
@media screen and (max-width: 980px) {
.poisk-results__filter-toggle {
display: inline-flex;
}
.poisk-results__catalog {
display: block;
}
.poisk-results .poisk-filters {
position: fixed;
top: 0;
bottom: 0;
left: 0;
z-index: 1000001;
width: min(355px, calc(100vw - 36px));
overflow-y: auto;
border-radius: 0 16px 16px 0;
transform: translateX(-105%);
transition: transform 0.24s ease;
}
.poisk-filters.is-open {
transform: translateX(0);
}
.poisk-filters__close,
.poisk-filters__apply {
display: flex;
}
.poisk-filters__backdrop:not([hidden]) {
position: fixed;
inset: 0;
z-index: 1000000;
display: block;
background: rgba(17, 24, 32, 0.45);
border: 0;
backdrop-filter: blur(2px);
}
body.poisk-filters-open {
overflow: hidden;
}
}
@media screen and (max-width: 640px) {
.poisk-results .poisk-results__toolbar {
padding: 12px;
}
.poisk-results__toolbar-actions {
width: 100%;
}
.poisk-results__filter-toggle,
.poisk-results__export-button {
flex: 1 1 auto;
}
.poisk-results__export-label {
display: none;
}
.poisk-results__sort-wrap {
width: 100%;
}
}


/* Защита геометрии модуля покупки от общих правил темы */
.poisk-results .poisk-product__buy,
.poisk-results .poisk-product__cart-control,
.poisk-results .poisk-product__quantity-block,
.poisk-results .poisk-product__cart-button {
min-width: 0 !important;
max-width: 100% !important;
}
.poisk-results .poisk-product__cart-button {
font-weight: 600 !important;
}
.poisk-results .poisk-product__cart-button strong {
font-weight: 700 !important;
}
.poisk-results .poisk-product__quantity-input,
.poisk-results .poisk-product__client-price-label {
font-weight: 600 !important;
}
.poisk-results .poisk-product__old-total-price {
font-weight: 500 !important;
}
.poisk-results .poisk-product__total-price {
font-weight: 700 !important;
}
@media screen and (min-width: 1200px) {
.poisk-results .poisk-product {
grid-template-columns: 198px minmax(0, 1fr) minmax(380px, 420px) !important;
column-gap: 18px !important;
row-gap: 0 !important;
}
.poisk-results .poisk-product__image-wrap {
width: 198px !important;
height: 132px !important;
min-height: 0 !important;
aspect-ratio: 3 / 2 !important;
flex: 0 0 198px !important;
align-self: center !important;
}
.poisk-results .poisk-product__content {
height: 132px;
min-height: 132px;
align-self: center;
justify-content: flex-start;
}
.poisk-results .poisk-product__info {
height: 100%;
justify-content: space-between;
}
.poisk-results .poisk-product__heading {
min-height: 30px;
align-items: center;
}
.poisk-results .poisk-product__brand,
.poisk-results .poisk-product__stock {
height: 30px;
min-height: 30px;
padding-top: 0;
padding-bottom: 0;
}
.poisk-results .poisk-product__brand {
padding-right: 11px;
padding-left: 11px;
}
.poisk-results .poisk-product__stock {
padding-right: 10px;
padding-left: 10px;
}
.poisk-results .poisk-product__properties {
margin-top: 0;
grid-template-columns: repeat(5, minmax(0, 1fr));
column-gap: clamp(18px, 1.6vw, 30px);
row-gap: 0;
align-items: end;
}
}
@media screen and (min-width: 981px) and (max-width: 1199px) {
.poisk-results .poisk-product {
grid-template-columns: 183px minmax(0, 1fr) minmax(330px, 365px) !important;
column-gap: 14px !important;
row-gap: 0 !important;
}
.poisk-results .poisk-product__image-wrap {
width: 183px !important;
height: 122px !important;
min-height: 0 !important;
aspect-ratio: 3 / 2 !important;
flex: 0 0 183px !important;
align-self: center !important;
}
.poisk-results .poisk-product__content {
height: 122px;
min-height: 122px;
align-self: center;
justify-content: flex-start;
}
.poisk-results .poisk-product__info {
height: 100%;
justify-content: space-between;
}
.poisk-results .poisk-product__heading {
min-height: 27px;
align-items: center;
}
.poisk-results .poisk-product__brand,
.poisk-results .poisk-product__stock {
height: 27px;
min-height: 27px;
padding-top: 0;
padding-bottom: 0;
}
.poisk-results .poisk-product__properties {
margin-top: 0;
}
}

/* Галерея фотографий товара */
.poisk-results .poisk-product__image-wrap {
isolation: isolate;
cursor: zoom-in;
touch-action: pan-y;
user-select: none;
}
.poisk-product__image-track {
width: 100%;
height: 100%;
display: flex;
transform: translate3d(0, 0, 0);
transition: transform 0.28s cubic-bezier(.22, .61, .36, 1);
will-change: transform;
}
.poisk-product__image-track .poisk-product__image {
width: 100%;
height: 100%;
min-width: 100%;
flex: 0 0 100%;
object-fit: contain;
object-position: center;
pointer-events: none;
}
.poisk-product__image-progress {
position: absolute;
right: 10px;
bottom: 9px;
left: 10px;
z-index: 4;
display: flex;
align-items: center;
justify-content: center;
gap: 5px;
pointer-events: none;
}
.poisk-product__image-progress-button {
width: clamp(13px, 18%, 25px);
max-width: 25px;
height: 4px;
padding: 0;
display: block;
background: rgba(116, 126, 136, .46);
border: 0;
border-radius: 999px;
box-shadow: 0 1px 3px rgba(15, 20, 26, .12);
cursor: pointer;
pointer-events: auto;
transition:
width .18s ease,
background-color .18s ease,
transform .18s ease;
}
.poisk-product__image-progress-button:hover {
background: rgba(77, 89, 102, .72);
transform: translateY(-1px);
}
.poisk-product__image-progress-button.is-active {
background: var(--poisk-yellow);
box-shadow: 0 1px 4px rgba(var(--zt-brand-rgb), .34);
}
.poisk-product__image-zoom {
position: absolute;
top: 8px;
right: 8px;
z-index: 5;
width: 30px;
height: 30px;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, .9);
color: var(--poisk-text);
border: 1px solid rgba(212, 220, 227, .92);
border-radius: 8px;
box-shadow: 0 3px 10px rgba(15, 20, 26, .08);
cursor: zoom-in;
opacity: 0;
transform: translateY(-3px);
transition:
opacity .18s ease,
transform .18s ease,
background-color .18s ease;
}
.poisk-product__image-wrap:hover .poisk-product__image-zoom,
.poisk-product__image-zoom:focus-visible {
opacity: 1;
transform: translateY(0);
}
.poisk-product__image-zoom:hover {
background: #FFFFFF;
}
.poisk-product__image-zoom svg {
width: 17px;
height: 17px;
fill: none;
stroke: currentColor;
stroke-width: 1.9;
stroke-linecap: round;
stroke-linejoin: round;
}

/* Полноэкранное увеличение */
.poisk-gallery-modal {
position: fixed;
inset: 0;
z-index: 1000005;
padding: 28px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(15, 20, 26, .88);
backdrop-filter: blur(7px);
}
.poisk-gallery-modal[hidden] {
display: none !important;
}
.poisk-gallery-modal__dialog {
position: relative;
width: min(1180px, calc(100vw - 56px));
height: min(82vh, 790px);
display: flex;
align-items: center;
justify-content: center;
}
.poisk-gallery-modal__image {
max-width: 100%;
max-height: 100%;
display: block;
object-fit: contain;
border-radius: 12px;
box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}
.poisk-gallery-modal__close,
.poisk-gallery-modal__nav {
position: absolute;
z-index: 2;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, .94);
color: var(--poisk-text);
border: 1px solid rgba(255, 255, 255, .5);
box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
cursor: pointer;
transition:
background-color .18s ease,
transform .18s ease;
}
.poisk-gallery-modal__close:hover,
.poisk-gallery-modal__nav:hover {
background: var(--poisk-yellow);
transform: scale(1.04);
}
.poisk-gallery-modal__close {
top: 0;
right: 0;
width: 42px;
height: 42px;
border-radius: 10px;
font-size: 26px;
line-height: 1;
}
.poisk-gallery-modal__nav {
top: 50%;
width: 46px;
height: 54px;
border-radius: 10px;
font-size: 31px;
transform: translateY(-50%);
}
.poisk-gallery-modal__nav:hover {
transform: translateY(-50%) scale(1.04);
}
.poisk-gallery-modal__nav--prev {
left: 0;
}
.poisk-gallery-modal__nav--next {
right: 0;
}
.poisk-gallery-modal__nav[hidden] {
display: none !important;
}
.poisk-gallery-modal__progress {
position: absolute;
bottom: 2px;
left: 50%;
z-index: 2;
display: flex;
gap: 6px;
transform: translateX(-50%);
}
.poisk-gallery-modal__progress span {
width: 26px;
height: 4px;
display: block;
background: rgba(255, 255, 255, .48);
border-radius: 999px;
}
.poisk-gallery-modal__progress span.is-active {
background: var(--poisk-yellow);
}
body.poisk-gallery-open {
overflow: hidden;
}
@media screen and (hover: none) {
.poisk-product__image-zoom {
opacity: 1;
transform: none;
}
}
@media screen and (max-width: 640px) {
.poisk-product__image-progress {
right: 6px;
bottom: 5px;
left: 6px;
gap: 3px;
}
.poisk-product__image-progress-button {
height: 3px;
}
.poisk-product__image-zoom {
top: 5px;
right: 5px;
width: 26px;
height: 26px;
}
.poisk-gallery-modal {
padding: 14px;
}
.poisk-gallery-modal__dialog {
width: calc(100vw - 28px);
height: 82vh;
}
.poisk-gallery-modal__nav {
width: 38px;
height: 46px;
}
}


/* Bitrix integration helpers */
.poisk-results .poisk-results__list.cards {
    display: block;
}

.poisk-results .catalog-section,
.poisk-results .catalog-section .items,
.poisk-results .catalog-section .item {
    min-width: 0;
}

.poisk-results .catalog-section .bx-section-desc {
    margin-bottom: 16px;
}

.poisk-results .poisk-filter-links {
    margin: 0;
    padding: 0 17px 14px;
    display: grid;
    gap: 7px;
}

.poisk-results .poisk-filter-links:empty {
    display: none;
}

.poisk-results .poisk-filter-links a {
    color: var(--poisk-secondary);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

.poisk-results .poisk-filter-links a:hover {
    color: var(--poisk-text);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.poisk-results__page-size-wrap {
    min-height: 44px;
    padding: 4px 7px 4px 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: var(--poisk-secondary);
    border: 1px solid var(--poisk-border);
    border-radius: var(--zt-radius-control);
    white-space: nowrap;
}

.poisk-results__page-size-wrap > span {
    font-size: 11px;
    font-weight: 650;
}

.poisk-results__page-size {
    height: 34px;
    min-width: 66px;
    padding: 0 27px 0 10px;
    background: var(--poisk-light);
    color: var(--poisk-text);
    border: 0;
    border-radius: var(--zt-radius-7);
    outline: 0;
    font: 700 12px/1 var(--zt-font-family);
    cursor: pointer;
}

.poisk-results__page-size:focus-visible {
    box-shadow: var(--zt-focus-ring);
}

.poisk-results .poisk-filters__group-title[aria-expanded="false"] svg {
    transform: rotate(180deg);
}

.poisk-results .poisk-filters__group-title svg {
    transition: transform .18s ease;
}

@media screen and (max-width: 700px) {
    .poisk-results__page-size-wrap {
        width: 100%;
        justify-content: space-between;
    }

    .poisk-results__page-size {
        min-width: 92px;
    }
}

.poisk-results .poisk-filter-links__title {
    margin: 3px 0 5px;
    color: var(--poisk-text);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

.poisk-results .poisk-filter-links__item {
    min-height: 32px;
    padding: 6px 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-radius: var(--zt-radius-7);
}

.poisk-results .poisk-filter-links__item small {
    color: var(--poisk-muted);
    font-size: 10px;
}

.poisk-results .poisk-filter-links__item.is-active {
    background: #fff;
    color: var(--poisk-text);
    box-shadow: inset 3px 0 0 var(--poisk-yellow);
}

@media screen and (max-width: 640px) {
    .poisk-results__page-size-wrap {
        grid-column: 1 / -1;
    }
}


/* ZIPTEH v2: штатный умный фильтр в компоновке как на Tilda */
.poisk-results .poisk-results__toolbar-actions {
    margin-left: auto;
}

.poisk-results .poisk-filter-native-wrap {
    margin: 0;
}

.poisk-results .poisk-filters__native {
    width: 100%;
}

.poisk-results .poisk-filters__apply {
    display: flex;
    background: linear-gradient(180deg, #ffc72f 0%, #ffb800 100%);
    color: #111820;
    border-color: #ffb800;
    box-shadow: 0 5px 12px rgba(var(--zt-brand-rgb), .17);
}

.poisk-results .poisk-filters__apply:hover {
    background: var(--poisk-yellow-hover);
    border-color: var(--poisk-yellow-hover);
}

.poisk-results .poisk-filter-links.poisk-filters__group {
    margin: 0;
    padding: 0 17px;
    display: block;
}

.poisk-results .poisk-filter-links .poisk-filters__group-body {
    padding-bottom: 16px;
}

.poisk-results .poisk-filter-links .poisk-filters__options {
    gap: 8px;
}

.poisk-results .poisk-filter-links__item {
    min-width: 0;
    min-height: 24px;
    padding: 0;
    display: grid;
    grid-template-columns: 17px minmax(0, 1fr) auto;
    align-items: center;
    justify-content: initial;
    gap: 8px;
    color: var(--poisk-text);
    border-radius: 0;
    font-size: 11px;
    font-weight: 550;
    line-height: 1.35;
    text-decoration: none;
}

.poisk-results .poisk-filter-links__item:hover {
    color: var(--poisk-text);
    text-decoration: none;
}

.poisk-results .poisk-filter-links__marker {
    position: relative;
    width: 17px;
    height: 17px;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(15, 20, 26, .24);
    border-radius: var(--zt-radius-4);
}

.poisk-results .poisk-filter-links__item.is-active .poisk-filter-links__marker {
    background: var(--poisk-yellow);
    border-color: var(--poisk-yellow);
}

.poisk-results .poisk-filter-links__item.is-active .poisk-filter-links__marker::after {
    position: absolute;
    top: 3px;
    left: 5px;
    width: 4px;
    height: 7px;
    border-right: 2px solid #111820;
    border-bottom: 2px solid #111820;
    content: "";
    transform: rotate(45deg);
}

.poisk-results .poisk-filter-links__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.poisk-results .poisk-filter-links__item.is-active {
    background: transparent;
    box-shadow: none;
    font-weight: 700;
}

.poisk-results .poisk-product__property--unit-price .poisk-product__property-value {
    white-space: normal;
}

@media screen and (max-width: 640px) {
    .poisk-results__filter-toggle {
        flex: 1 1 auto;
    }
}

.poisk-results .poisk-filters__footer {
    padding: 0 17px 17px;
}

.poisk-results .poisk-filters__footer .poisk-filters__apply {
    width: 100%;
    margin: 0;
}

/* ZIPTEH v5: always show one horizontal product per row.
   This overrides the legacy .cards.view-cards grid from assets/styles/style.css,
   including its 4/3/2-column media-query variants. */
.poisk-results .catalog-section .poisk-force-list,
.poisk-results .catalog-section .poisk-results__list {
    width: 100% !important;
    max-width: none !important;
}

.poisk-results .catalog-section .poisk-force-list > .items,
.poisk-results .catalog-section .poisk-results__list > .items,
.poisk-results .catalog-section .cards.view-cards.poisk-force-list > .items,
.poisk-results .catalog-section .cards.view-lines.poisk-force-list > .items {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    grid-template-columns: none !important;
    grid-auto-flow: row !important;
    gap: 0 !important;
}

.poisk-results .catalog-section .poisk-force-list > .items > .item,
.poisk-results .catalog-section .poisk-results__list > .items > .item,
.poisk-results .catalog-section .cards.view-cards.poisk-force-list > .items > .item,
.poisk-results .catalog-section .cards.view-lines.poisk-force-list > .items > .item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: block !important;
    flex: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.poisk-results .catalog-section .poisk-force-list > .items > .item + .item,
.poisk-results .catalog-section .poisk-results__list > .items > .item + .item {
    margin-top: 14px !important;
}

.poisk-results .catalog-section .poisk-force-list .items-header,
.poisk-results .catalog-section .poisk-results__list .items-header {
    display: none !important;
}

.poisk-results .catalog-section .poisk-force-list .poisk-product,
.poisk-results .catalog-section .poisk-results__list .poisk-product {
    width: 100% !important;
    max-width: none !important;
}

@media screen and (max-width: 1600px),
       screen and (max-width: 1250px),
       screen and (max-width: 900px),
       screen and (max-width: 650px) {
    .poisk-results .catalog-section .poisk-force-list > .items,
    .poisk-results .catalog-section .poisk-results__list > .items {
        display: block !important;
        grid-template-columns: none !important;
    }

    .poisk-results .catalog-section .poisk-force-list > .items > .item,
    .poisk-results .catalog-section .poisk-results__list > .items > .item {
        width: 100% !important;
        max-width: none !important;
        display: block !important;
    }
}

/* ZIPTEH v6: light catalog toolbar, requested-price state and forced quantity control. */
.zip-catalog-page .poisk-results__toolbar,
.content-area-catalog .poisk-results__toolbar {
    background: #eef2f5 !important;
    color: #111820 !important;
    border-color: #d5dde4 !important;
    box-shadow: 0 8px 24px rgba(15, 20, 26, 0.07) !important;
}

.zip-catalog-page .poisk-results__toolbar-summary,
.content-area-catalog .poisk-results__toolbar-summary,
.zip-catalog-page .poisk-results__sort-wrap > span,
.content-area-catalog .poisk-results__sort-wrap > span {
    color: #5d6873 !important;
}

.zip-catalog-page .poisk-results__toolbar-summary strong,
.content-area-catalog .poisk-results__toolbar-summary strong {
    color: #111820 !important;
}

.zip-catalog-page .poisk-results__toolbar-badge,
.content-area-catalog .poisk-results__toolbar-badge,
.zip-catalog-page .poisk-results__sort-wrap,
.content-area-catalog .poisk-results__sort-wrap {
    background: #fff !important;
    color: #111820 !important;
    border-color: #d5dde4 !important;
}

.zip-catalog-page .poisk-results__sort,
.content-area-catalog .poisk-results__sort {
    background: #fff !important;
    color: #111820 !important;
    border-color: #d5dde4 !important;
}

.poisk-results .poisk-product__total-price--request,
.poisk-results .poisk-product__property-value--price-request {
    color: #59636e !important;
    font-weight: 750 !important;
}

.poisk-results .poisk-product__total-price--request {
    margin-top: 10px;
    font-size: 20px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
}

.poisk-results .poisk-product__cart-control {
    display: grid !important;
    grid-template-columns: 130px minmax(180px, 1fr) !important;
    align-items: stretch !important;
    gap: 14px !important;
}

.poisk-results .poisk-product__quantity-block,
.poisk-results .poisk-product__quantity {
    display: block;
}

.poisk-results .poisk-product__quantity {
    display: grid !important;
    grid-template-columns: 38px minmax(52px, 1fr) 38px !important;
}

@media screen and (max-width: 640px) {
    .poisk-results .poisk-product__cart-control {
        grid-template-columns: 116px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .zip-catalog-page .poisk-results__toolbar,
    .content-area-catalog .poisk-results__toolbar {
        background: #eef2f5 !important;
    }
}

/* ZIPTEH v8: keep long manufacturer lists collapsed to the first six values. */
.poisk-results .poisk-filters__option[hidden],
.poisk-results [data-poisk-option-extra][hidden],
.poisk-results .poisk-filters__more[hidden] {
    display: none !important;
}

/* ZIPTEH v44: force compact search-page purchase column after global card rules. */
@media screen and (min-width: 1491px) {
    .zt-search-catalog.poisk-results .poisk-results__catalog {
        grid-template-columns: 330px minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product {
        grid-template-columns: 198px minmax(0, 1fr) 250px !important;
    }
}

@media screen and (min-width: 981px) and (max-width: 1490px) {
    .zt-search-catalog.poisk-results .poisk-results__catalog {
        grid-template-columns: 300px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product {
        grid-template-columns: 183px minmax(0, 1fr) 238px !important;
    }
}

@media screen and (min-width: 981px) {
    .zt-search-catalog.poisk-results .poisk-product__buy {
        padding-left: 12px !important;
        gap: 10px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__total-row {
        grid-template-columns: minmax(0, 1fr) 40px !important;
        gap: 8px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__favorite {
        width: 40px !important;
        height: 40px !important;
        flex-basis: 40px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__cart-control {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__quantity {
        grid-template-columns: 28px 40px 28px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__quantity-button {
        width: 28px !important;
        min-width: 28px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__quantity-input {
        min-width: 40px !important;
        padding-right: 2px !important;
        padding-left: 2px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__actions,
    .zt-search-catalog.poisk-results .poisk-product__cart-button,
    .zt-search-catalog.poisk-results .poisk-product__cart-button--details {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__cart-button {
        min-height: 40px !important;
        height: 40px !important;
        padding-right: 7px !important;
        padding-left: 7px !important;
        gap: 5px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__cart-button svg {
        width: 14px !important;
        height: 14px !important;
        flex: 0 0 14px !important;
    }
}

/* ZIPTEH v45: align purchase header and make quantity control exactly as high as the action button. */
@media screen and (min-width: 981px) {
    .zt-search-catalog.poisk-results .poisk-product__buy {
        align-content: start !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__total-row {
        align-items: start !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__price-heading {
        min-height: 30px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__quantity-block,
    .zt-search-catalog.poisk-results .poisk-product__quantity {
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__quantity-button,
    .zt-search-catalog.poisk-results .poisk-product__quantity-input {
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__cart-button--added {
        gap: 3px !important;
        padding-right: 5px !important;
        padding-left: 5px !important;
        font-size: 11px !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__cart-button--added svg {
        display: none !important;
    }
}

/* ZIPTEH v46: compact basket label and bottom-align purchase controls with product details. */
@media screen and (min-width: 981px) {
    .zt-search-catalog.poisk-results .poisk-product__buy {
        height: 100% !important;
        align-content: space-between !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__cart-control {
        align-self: end !important;
        margin-top: auto !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__cart-button--added {
        font-size: 11px !important;
        letter-spacing: -0.01em !important;
    }
}


/* ZIPTEH v47: center the price between its badge and actions; show a subtle accent only on hover. */
@media screen and (min-width: 981px) {
    .zt-search-catalog.poisk-results .poisk-product__buy {
        grid-template-rows: minmax(0, 1fr) auto !important;
        align-content: stretch !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__total-row {
        min-height: 0 !important;
        height: 100% !important;
        align-items: stretch !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__total-block {
        min-height: 0 !important;
        height: 100% !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__total-price {
        align-self: center !important;
        margin: 0 !important;
    }

    .zt-search-catalog.poisk-results .poisk-product__favorite {
        align-self: start !important;
    }
}

.zt-search-catalog.poisk-results .poisk-product::before {
    top: 10px !important;
    bottom: 10px !important;
    left: -1px !important;
    width: 3px !important;
    border-radius: 0 4px 4px 0 !important;
    opacity: 0 !important;
    transform: scaleY(.55) !important;
    transform-origin: center !important;
    transition: opacity .18s ease, transform .18s ease !important;
}

.zt-search-catalog.poisk-results .poisk-product:hover::before {
    opacity: 1 !important;
    transform: scaleY(1) !important;
}

/* End */


/* Start:/local/templates/zipteh/assets/styles/catalog-grid.css?1793869874197838*/
/* =========================================================
   ZIPTEH — плитка каталога.

   Карточка повторяет принятый модуль главной #ztSaleProducts
   один в один: правила ниже сгенерированы из
   assets/styles/sale-products.css заменой области видимости
   #ztSaleProducts → .zt-catalog-grid. Сам принятый модуль
   и его файл не изменяются.

   ВАЖНО: если карточку на главной когда-нибудь поправят,
   этот файл нужно пересобрать из sale-products.css тем же
   способом, иначе виды разойдутся.

   Сетка повторяет брейкпоинты карусели главной
   (sale-products.js: slidesPerView / spaceBetween):
     < 520   — 1 колонка,  зазор 12  (на главной 1.2 с подглядыванием)
     >= 520  — 2 колонки,  зазор 12
     >= 760  — 3 колонки,  зазор 14
     >= 1020 — 4 колонки,  зазор 14
     >= 1320 — 5 колонок,  зазор 16
     >= 1640 — 5 колонок (см. N-508), зазор 16
   ========================================================= */

.zt-catalog-grid {
    /* На главной цвет текста карточки наследуется от модуля (#333a43).
       В каталоге родитель отдаёт свой оттенок, поэтому задаём явно —
       иначе цена и подписи выходят темнее, чем на главной. */
    color: #333a43;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zt-catalog-grid,
.zt-catalog-grid *,
.zt-catalog-grid *::before,
.zt-catalog-grid *::after {
    box-sizing: border-box;
}

/* Карточка внутри сетки — обычный элемент потока, а не слайд. */
.zt-catalog-grid .zt-product-card {
    width: auto !important;
    margin: 0 !important;
    flex: none !important;
}

@media (min-width: 520px) {
    .zt-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

@media (min-width: 760px) {
    .zt-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
}

@media (min-width: 1020px) {
    .zt-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
}

@media (min-width: 1320px) {
    .zt-catalog-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
}

/* N-508: шестая колонка убрана. На странице каталога 20 товаров, и при
   шести в ряду последний ряд оставался рваным — 6/6/6/2. При пяти
   колонках 20 укладываются ровно в четыре ряда на всех широких
   разрешениях. Если увеличить число товаров на странице до кратного
   шести, правило можно вернуть. */


/* =========================================================
   N-517: верхняя панель каталога по референсу.

   Разметка, селекты и обработчики остаются штатными. Меняется
   только визуал: белая карточка с тонкой границей, компактная
   сводка слева и единая строка контролов справа. Селекторы с id
   и !important нужны из-за позднего блока ZIPTEH v6 в
   poisk-results.css, где серый фон закреплён через !important.
   ========================================================= */

#poisk-results > .poisk-results__toolbar {
    min-height: 60px;
    margin-bottom: 18px;
    padding: 9px 12px 9px 18px;
    gap: 18px;
    border: 1px solid #dfe3e8 !important;
    border-radius: 12px;
    background: #fff !important;
    color: #253142 !important;
    box-shadow: 0 8px 24px rgba(37, 49, 66, .055) !important;
}

#poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary {
    gap: 8px;
    color: #45566b !important;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif);
    font-size: 12px;
    font-weight: 500;
}

#poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary strong {
    color: #253142 !important;
    font-size: 12px;
    font-weight: 700;
}

#poisk-results > .poisk-results__toolbar .poisk-results__toolbar-badge {
    min-height: 26px;
    padding: 4px 10px;
    border: 1px solid #dfe3e8 !important;
    border-radius: 8px;
    background: #fff !important;
    color: #253142 !important;
    font-size: 10px;
    font-weight: 700;
}

#poisk-results > .poisk-results__toolbar .poisk-results__toolbar-actions {
    gap: 10px;
}

#poisk-results > .poisk-results__toolbar .poisk-results__view {
    min-height: 44px;
    gap: 4px;
    padding: 4px;
    border: 1px solid #dfe3e8;
    border-radius: 8px;
    background: #fff;
}

#poisk-results > .poisk-results__toolbar .poisk-results__view-button {
    width: 34px;
    height: 34px;
    border-radius: 7px;
    color: #45566b;
}

#poisk-results > .poisk-results__toolbar .poisk-results__view-button[aria-pressed="true"] {
    background: #ffb800;
    color: #253142;
    box-shadow: 0 4px 10px rgba(255, 184, 0, .22);
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap,
#poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap {
    min-height: 44px;
    border: 1px solid #dfe3e8 !important;
    border-radius: 8px;
    background: #fff !important;
    color: #45566b !important;
    box-shadow: none;
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap {
    min-width: 176px;
    padding: 4px 7px 4px 13px;
}

#poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap {
    min-width: 292px;
    padding: 4px 36px 4px 13px;
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap > span,
#poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap > span {
    color: #45566b !important;
    font-size: 10px;
    font-weight: 600;
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size,
#poisk-results > .poisk-results__toolbar .poisk-results__sort {
    height: 34px;
    border: 1px solid #edf0f3 !important;
    border-radius: 7px;
    background: #fff !important;
    color: #253142 !important;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif);
    font-size: 10px;
    font-weight: 700;
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size {
    min-width: 72px;
}

#poisk-results > .poisk-results__toolbar .poisk-results__sort {
    width: 174px;
}

/* zf-toolbar-fix — только дожим уже заданных выше значений.
   Гарнитуру и кегль селектов перебивало правило уровня
   `#poisk-results *` из стилей боевого домена: вместо Manrope 10/700
   рисовался Tektur 12. Сами размеры, рамка и радиус — те, что заданы
   выше, здесь ничего не переопределяется по вкусу.
   Заодно убираем системную стрелку селекта и рисуем свою, иначе
   в каждом браузере она выглядит по-своему. */

#poisk-results > .poisk-results__toolbar .poisk-results__page-size,
#poisk-results > .poisk-results__toolbar .poisk-results__sort {
    padding: 0 30px 0 11px !important;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffb800' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 9px center !important;
    background-size: 13px !important;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size:hover,
#poisk-results > .poisk-results__toolbar .poisk-results__sort:hover {
    border-color: #cfd6de !important;
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size:focus-visible,
#poisk-results > .poisk-results__toolbar .poisk-results__sort:focus-visible {
    border-color: #ffb800 !important;
    box-shadow: 0 0 0 3px rgba(255, 184, 0, .18);
    outline: none;
}

/* Подписи «На странице:» и «Сортировка:» — тем же кеглем, что задан выше. */
#poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap > span,
#poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap > span {
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
}

/* =========================================================
   N-519 / N-520 / N-521: убрать рамки-обёртки в тулбаре.

   Заказчик просит, чтобы подписи «На странице:» и «Сортировка:»
   и группа переключателя вида не были обведены рамкой. Рамку
   держит только сам контрол — селект и активная кнопка вида.
   Размеры контролов не меняются: селекты остаются 34 px, кнопки
   вида 34×34, поэтому строка тулбара выравнивается по одной
   высоте без обёрток.
   ========================================================= */

#poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap,
#poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap,
#poisk-results > .poisk-results__toolbar .poisk-results__view {
    min-height: 34px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap,
#poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap {
    min-width: 0;
    padding: 0;
    gap: 8px;
}

#poisk-results > .poisk-results__toolbar .poisk-results__view {
    padding: 0;
    gap: 6px;
}

/* Рамку теперь несёт сам селект: прежний #edf0f3 задумывался как
   внутренняя линия внутри обёртки и на белом фоне без неё
   не читается, поэтому берём тот же токен, что у тулбара. */
#poisk-results > .poisk-results__toolbar .poisk-results__page-size,
#poisk-results > .poisk-results__toolbar .poisk-results__sort {
    border-color: #dfe3e8 !important;
}

@media (max-width: 1100px) {
    #poisk-results > .poisk-results__toolbar {
        padding: 12px;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 700px) {
    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary {
        width: 100%;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary strong {
        width: auto;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-actions {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__view {
        grid-column: 1;
        grid-row: 1;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        min-width: 0;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__sort {
        width: 100%;
    }
}


/* =========================================================
   N-511: пагинация каталога в стиле страницы новостей.

   Разметку даёт Битрикс (`.main-ui-pagination`), менять её нельзя,
   поэтому переоформляем существующие узлы: подпись «Страницы:»
   становится служебной строкой сверху, номера — квадратными
   кнопками 42×42 с радиусом 8, текущая страница — фирменным
   жёлтым, «Предыдущая»/«Следующая» — широкими кнопками, как
   «Назад»/«Вперёд» в новостях. Значения совпадают с
   .znh-pagination в news-hub.css.
   ========================================================= */

.poisk-results .main-ui-pagination {
    display: grid;
    grid-template-columns: auto auto auto minmax(150px, 1fr);
    align-items: center;
    justify-items: start;
    gap: 8px;
    margin-top: 24px;
    padding: 10px 12px;
    border: 1px solid #e3e5e5;
    border-radius: 12px;
    background: #fff;
}

.poisk-results .main-ui-pagination-pages {
    display: contents;
}

.poisk-results .main-ui-pagination-label {
    display: none;
}

.poisk-results .main-ui-pagination-pages-list {
    max-width: 100%;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-start;
}

.poisk-results .main-ui-pagination-pages-list { grid-column: 2; grid-row: 1; }

.poisk-results .main-ui-pagination-arrows { display: contents; }
.poisk-results .main-ui-pagination-prev { grid-column: 1; grid-row: 1; }
.poisk-results .main-ui-pagination-next { grid-column: 3; grid-row: 1; }

.poisk-results .zt-catalog-load-more {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    min-width: 132px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid #ffb800;
    border-radius: 8px;
    background: #ffb800;
    color: #1d2228;
    font-family: var(--zt-font-btn, "Manrope", "Inter", Arial, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1;
    text-decoration: none;
}

.poisk-results .zt-catalog-load-more:hover {
    border-color: #e8a600;
    background: #e8a600;
}

/* Селектор поднят до id: гарнитуру перебивает правило уровня
   `#poisk-results *` из стилей боевого домена, и селектор из двух
   классов ему проигрывает даже с !important. */
#poisk-results .main-ui-pagination-page,
#poisk-results .main-ui-pagination-arrow,
.poisk-results .main-ui-pagination-page,
.poisk-results .main-ui-pagination-arrow {
    min-width: 42px;
    height: 42px;
    display: inline-grid;
    padding: 0 10px;
    place-items: center;
    border: 1px solid #e3e5e5;
    border-radius: 8px;
    color: #333a43;
    background: #fff;
    /* !important: гарнитуру кнопок перебивает легаси-CSS с боевого
       домена — без этого выходит Tektur вместо Manrope новостей. */
    font-family: var(--zt-font-btn, "Manrope", "Inter", Arial, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease;
}

.poisk-results .main-ui-pagination-page:hover,
.poisk-results .main-ui-pagination-arrow:hover {
    border-color: #ffb800;
}

#poisk-results .main-ui-pagination-page.main-ui-pagination-active,
.poisk-results .main-ui-pagination-page.main-ui-pagination-active {
    border-color: #ffb800;
    background: #ffb800;
}

/* Многоточие — без рамки, как разделитель в новостях. */
#poisk-results .main-ui-pagination-page.main-ui-pagination-dots,
.poisk-results .main-ui-pagination-page.main-ui-pagination-dots {
    border-color: transparent;
    background: transparent;
    color: #909090;
}

/* «Предыдущая» и «Следующая» — широкие кнопки направления. */
#poisk-results .main-ui-pagination-arrow,
.poisk-results .main-ui-pagination-arrow {
    min-width: 132px;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Неактивная стрелка приходит как <span> без href. */
.poisk-results span.main-ui-pagination-arrow,
.poisk-results span.main-ui-pagination-page:not(.main-ui-pagination-active) {
    opacity: .42;
    pointer-events: none;
}

/* Ниже 900 px широкие подписи «Предыдущая»/«Следующая» перестают
   помещаться рядом с номерами: на 768 ряд был шире колонки на 71 px.
   Оставляем стрелки, подписи убираем. */
@media (max-width: 900px) {
    .poisk-results .main-ui-pagination {
        grid-template-columns: auto minmax(0, 1fr) auto auto;
    }

    .poisk-results .main-ui-pagination-prev { grid-column: 1; }
    .poisk-results .main-ui-pagination-pages-list { grid-column: 2; justify-content: center; }
    .poisk-results .main-ui-pagination-next { grid-column: 3; }
    .poisk-results .zt-catalog-load-more { grid-column: 4; }

    #poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-arrow {
        width: 42px;
        min-width: 42px;
        max-width: 42px;
        padding: 0;
        /* !important — перебиваем `font-size: 13px !important`
           у кнопок пагинации выше по файлу, иначе подпись
           возвращается и вылезает за кнопку. */
        font-size: 0 !important;
        overflow: hidden;
    }

    .poisk-results .main-ui-pagination-prev { justify-self: start; }
    .poisk-results .main-ui-pagination-next { justify-self: end; }

    .poisk-results .main-ui-pagination-arrow::before {
        display: block;
        font: 700 15px/1 var(--zt-font-btn, "Manrope", Arial, sans-serif);
        text-align: center;
    }

    .poisk-results .main-ui-pagination-prev::before { content: "←"; }
    .poisk-results .main-ui-pagination-next::before { content: "→"; }
}

@media (max-width: 620px) {
    .poisk-results .main-ui-pagination {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 8px;
    }

    .poisk-results .main-ui-pagination-prev { grid-column: 1; grid-row: 1; }
    .poisk-results .main-ui-pagination-pages-list { grid-column: 2; grid-row: 1; }
    .poisk-results .main-ui-pagination-next { grid-column: 3; grid-row: 1; }

    .poisk-results .main-ui-pagination-pages-list {
        max-width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .poisk-results .zt-catalog-load-more {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        justify-self: stretch;
    }
}

/* N-513…N-516: заголовок каталога и интервалы страницы. */
.zt-page-content-area--catalog .zip-catalog-page {
    margin-top: 18px;
}

.zt-page-content-area--catalog .poisk-results__header {
    margin-bottom: 18px;
}

body:has(.zt-page-content-area--catalog) #ziptehLeadModule {
    margin-top: 40px;
}

/* Фильтры каталога по утверждённому референсу. Ширина колонки и
   штатная smart-filter-разметка Битрикса не меняются. */
.poisk-results .poisk-filters {
    overflow: hidden;
    border: 1px solid #e3e5e5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(29, 34, 40, .045);
}

.poisk-results .poisk-filters__header {
    min-height: 64px;
    padding: 15px 16px;
    align-items: center;
    border-bottom: 1px solid #e9ebee;
    background: #fff;
}

.poisk-results .poisk-filters__eyebrow { display: none; }

.poisk-results .poisk-filters__title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #253142;
    font-family: var(--zt-font-head, "Russo One", Arial, sans-serif);
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
}

/* N-525: значок фильтров. Прежний собирался из шести градиентов
   и на ретине расползался. Теперь — чистый SVG-глиф воронки
   в мягкой фирменной плашке, как у остальных иконок каталога. */
.poisk-results .poisk-filters__title::before {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    display: block;
    content: "";
    border-radius: 8px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f0a500'%3E%3Cpath d='M3.6 5.1c0-.72.58-1.3 1.3-1.3h14.2c.72 0 1.3.58 1.3 1.3v1.06c0 .35-.14.68-.38.92l-5.62 5.62a1.3 1.3 0 0 0-.38.92v4.28c0 .46-.24.88-.63 1.11l-2.62 1.57a1.3 1.3 0 0 1-1.97-1.11v-5.85c0-.35-.14-.68-.38-.92L3.98 8.08a1.3 1.3 0 0 1-.38-.92V5.1Z'/%3E%3C/svg%3E")
        center / 16px 16px no-repeat,
        rgba(255, 184, 0, .16);
}

.poisk-results .poisk-filters__reset {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 0;
    border: 0;
    color: #69809a;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif);
    font-size: 10px;
    font-weight: 600;
}

.poisk-results .poisk-filters__reset::before {
    content: "↻";
    color: #3b73a7;
    font-size: 16px;
    line-height: 1;
}

.poisk-results .poisk-filters__group {
    padding: 0 16px;
    border-bottom: 1px solid #e9ebee;
}

.poisk-results .poisk-filters__group-title {
    min-height: 53px;
    color: #253142;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif);
    font-size: 12px;
    font-weight: 700;
}

.poisk-results .poisk-filters__group-title svg {
    width: 15px;
    height: 15px;
    stroke: #253142;
}

.poisk-results .poisk-filters__group-body { padding-bottom: 17px; }

.poisk-results .poisk-filters__price {
    position: relative;
    gap: 10px;
    padding-bottom: 28px;
}

.poisk-results .poisk-filters__price::before {
    position: absolute;
    right: 3px;
    bottom: 8px;
    left: 3px;
    height: 3px;
    border-radius: 3px;
    background: #ffb800;
    content: "";
}

.poisk-results .poisk-filters__price::after {
    position: absolute;
    right: -1px;
    bottom: 2px;
    left: -1px;
    height: 13px;
    background:
        radial-gradient(circle, #fff 0 5px, #ffb800 5.5px 6.5px, transparent 7px) left center / 14px 14px no-repeat,
        radial-gradient(circle, #fff 0 5px, #ffb800 5.5px 6.5px, transparent 7px) right center / 14px 14px no-repeat;
    content: "";
}

.poisk-results .poisk-filters__price input,
.poisk-results .poisk-filters__search input {
    height: 39px;
    border: 1px solid #dfe3e8;
    border-radius: 8px;
    background: #fff;
    color: #253142;
    box-shadow: none;
}

.poisk-results .poisk-filters__search { margin-bottom: 13px; }

.poisk-results .poisk-filters__options { gap: 9px; }

.poisk-results .poisk-filters__option {
    grid-template-columns: 16px minmax(0, 1fr) auto;
    gap: 8px;
    color: #45566b;
    font-size: 10px;
    font-weight: 500;
}

.poisk-results .poisk-filters__checkbox {
    width: 16px;
    height: 16px;
    border-color: #ccd4dc;
    border-radius: 2px;
}

.poisk-results .poisk-filters__option-count {
    color: #60748a;
    font-size: 10px;
}

/* =========================================================
   N-528: группа «Наличие» — тумблеры «На складе» / «Под заказ».

   На референсе это не чекбоксы, а переключатели-ползунки.
   Трек 34×20, шарик 16, включённое состояние — фирменный жёлтый.
   Разметка: label > input[type=checkbox] + span.track + span.text.
   ========================================================= */

#poisk-results .poisk-filters__switches {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

#poisk-results .poisk-filters__switch {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
}

#poisk-results .poisk-filters__switch input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

/* Фон трека и шарика идёт с !important: у стилей умного фильтра
   с боевого домена есть правило на span внутри label фильтра,
   которое красит его фоном поверх наших классов. */
#poisk-results .poisk-filters__switch-track {
    position: relative;
    flex: 0 0 34px;
    width: 34px;
    height: 20px;
    border: 0 !important;
    border-radius: 999px !important;
    background: #dfe3e8 !important;
    transition: background .16s ease;
}

#poisk-results .poisk-filters__switch-track::after {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    content: "";
    border-radius: 50%;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(29, 34, 40, .28);
    transition: transform .16s ease;
}

#poisk-results .poisk-filters__switch input:checked + .poisk-filters__switch-track {
    background: #ffb800 !important;
}

#poisk-results .poisk-filters__switch input:checked + .poisk-filters__switch-track::after {
    transform: translateX(14px);
}

#poisk-results .poisk-filters__switch input:focus-visible + .poisk-filters__switch-track {
    outline: 2px solid #ffb800;
    outline-offset: 2px;
}

#poisk-results .poisk-filters__switch-text {
    color: #253142;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.poisk-results .poisk-filters__more {
    margin-top: 12px;
    border-bottom: 1px dashed #507090;
    color: #3b658f;
    font-size: 10px;
    font-weight: 600;
}

.poisk-results .poisk-filters__footer {
    padding: 16px 16px 14px;
    background: #fff;
}

.poisk-results .poisk-filters__apply {
    width: 100%;
    min-height: 44px;
    margin: 0;
    border: 0;
    border-radius: 8px;
    background: #ffb800;
    box-shadow: none;
    color: #1d2228;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif);
    /* N-527: кегль поднят с 12 до 14, добавлены внутренние отступы,
       чтобы подпись не упиралась в границу кнопки. */
    font-size: 14px;
    font-weight: 700;
}

.poisk-results .poisk-filters__apply {
    min-height: 46px;
    padding: 0 24px !important;
    font-size: 14px !important;
}

/* N-526: строка «Показано N из M» набиралась двумя гарнитурами —
   сам абзац Manrope 10, а число внутри наследовало Tektur 16 от
   правила уровня `#poisk-results *` боевого домена. Приводим всю
   строку к кеглю и гарнитуре «Уточняйте цену»: Manrope 14/700.
   Селектор поднят до уровня id: в zt-redesign.css гарнитуру держит
   `body :not(i):not(...)` с !important и весом 0-2-3, который
   перебивает правило из двух классов. */
/* N-713, 04.09.2026: заказчик — «тут шрифт как на складе и под заказ».
   Берём значения ярлыка наличия .poisk-product__stock: Tektur 12/750,
   интерлиньяж 1,2. Прежние Manrope 14/700 (правка N-526) отменены. */
#poisk-results .poisk-filters__result-count,
#poisk-results .poisk-filters__result-count span {
    color: #75859a;
    font-family: var(--zt-font, "Tektur", "Inter", Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
}

.poisk-results .poisk-filters__result-count {
    margin: 11px 0 0;
    text-align: center;
}

/* Переключение видов: показываем ровно один список.
   Специфичность подобрана выше блока «ZIPTEH v5» в poisk-results.css,
   где `.poisk-results .catalog-section .poisk-results__list > .items`
   держит `display: block !important` независимо от классов вида. */
.poisk-results .catalog-section .poisk-results__list.zt-view-cards > .items {
    display: none !important;
}

.poisk-results .catalog-section .poisk-results__list.zt-view-cards > .zt-catalog-grid {
    display: grid !important;
}

.poisk-results .catalog-section .poisk-results__list.zt-view-lines > .zt-catalog-grid {
    display: none !important;
}

/* Кнопки переключателя в тулбаре. */
.poisk-results__view {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px;
    border: 1px solid var(--znh-line, #e3e5e5);
    border-radius: 10px;
    background: #fff;
}

.poisk-results__view-button {
    width: 38px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 7px;
    color: #6b7480;
    background: transparent;
    cursor: pointer;
    transition: background 160ms ease, color 160ms ease;
}

.poisk-results__view-button svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.poisk-results__view-button:hover { color: #333a43; background: #f4f5f7; }

.poisk-results__view-button[aria-pressed="true"] {
    color: #333a43;
    background: #ffb800;
}

.poisk-results__view-button:focus-visible {
    outline: 2px solid #175cd3;
    outline-offset: 2px;
}

/* ---------------------------------------------------------
   Ниже — карточка, перенесённая из принятого модуля главной.
   Файл собирается скриптом Редизайн/Инструменты/generate-catalog-grid-css.py
   из четырёх источников; правила руками не редактировать.
   --------------------------------------------------------- */

/* ---- из sale-products.css — 74 правил ---- */

.poisk-results .zt-catalog-grid .zt-product-card {
    min-width: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: #1e2428;
    background: #fff;
    border: 1px solid #e3e5e5;
    border-radius: 8px;
    box-shadow: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card:hover {
    border-color: #d6d8d8;
    box-shadow: 0 10px 26px rgba(33, 39, 43, .07);
    transform: translateY(-3px);
}

.poisk-results .zt-catalog-grid .zt-product-card__media {
    position: relative;
    padding: 12px 12px 0;
    background: #fff;
}

.poisk-results .zt-catalog-grid .zt-product-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    min-height: 22px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    color: #fff;
    background: #ffb600;
    border-radius: 8px;
    font: 800 9px/1 var(--zt-font, Arial, Helvetica, sans-serif);
    letter-spacing: .01em;
}

.poisk-results .zt-catalog-grid .zt-product-card--new .zt-product-card__badge {
    color: #256d40;
    background: #dff5e6;
}

.poisk-results .zt-catalog-grid .zt-product-card--hit .zt-product-card__badge {
    color: #8a6200;
    background: #ffeab1;
}

.poisk-results .zt-catalog-grid .zt-product-card__image {
    width: 100%;
    /* 09.09.2026, указание заказчика: «фото под 3:2 готовятся».
       Было 1.18/1 — кадр почти квадратный, снимок 3:2 в него
       не ложился. Высота кадра теперь всегда ширина / 1,5. */
    aspect-ratio: 3 / 2;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    color: inherit;
    background: #fff;
    text-decoration: none;
}

.poisk-results .zt-catalog-grid .zt-product-card__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transition: transform .28s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card:hover .zt-product-card__image img {
    transform: scale(1.035);
}

.poisk-results .zt-catalog-grid .zt-product-card__placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #929aa1;
    background: linear-gradient(135deg, #fbfbfb, #f1f2f1);
}

.poisk-results .zt-catalog-grid .zt-product-card__placeholder svg {
    width: 52px;
    height: 52px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.poisk-results .zt-catalog-grid .zt-product-card__body {
    min-height: 218px;
    padding: 9px 13px 13px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.poisk-results .zt-catalog-grid .zt-product-card__article {
    margin-bottom: 5px;
    overflow: hidden;
    color: #252a2e;
    /* П-5: вес 700 вместо 800. Заодно снят Arial из шортката —
       последнее место, где артикул рисовался не шрифтом сайта. */
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.poisk-results .zt-catalog-grid .zt-product-card__name {
    min-height: 34px;
    margin: 0 0 8px !important;
    font-family: var(--zt-font, 'Inter', Arial, Helvetica, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.38 !important;
    text-transform: none !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__name a {
    display: -webkit-box;
    overflow: hidden;
    color: #3d454a !important;
    text-decoration: none !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.poisk-results .zt-catalog-grid .zt-product-card__stock {
    margin-bottom: 11px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #46995f;
    font: 500 10px/1 var(--zt-font, Arial, Helvetica, sans-serif);
}

.poisk-results .zt-catalog-grid .zt-product-card__stock span {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    background: currentColor;
    border-radius: 50%;
}

.poisk-results .zt-catalog-grid .zt-product-card__stock.is-order {
    color: #8a6200;
}

.poisk-results .zt-catalog-grid .zt-product-card__prices {
    min-height: 37px;
    margin-top: auto;
    display: flex;
    align-items: flex-end;
    gap: 9px;
}

.poisk-results .zt-catalog-grid .zt-product-card__old-price {
    padding-bottom: 2px;
    color: #9ea3a6;
    font: 500 10px/1 var(--zt-font, Arial, Helvetica, sans-serif);
    text-decoration: line-through;
    white-space: nowrap;
}

.poisk-results .zt-catalog-grid .zt-product-card__price {
    color: #1c2226;
    font: 800 17px/1.05 var(--zt-font, Arial, Helvetica, sans-serif);
    white-space: nowrap;
}

.poisk-results .zt-catalog-grid .zt-product-card__price--request {
    font-size: 14px;
    white-space: normal;
}

.poisk-results .zt-catalog-grid .zt-product-card__buttons {
    margin-top: 11px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 8px;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart {
    min-width: 0;
    min-height: 34px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #333a43 !important;
    /* N-209: тот же фирменный жёлтый, что у акцента
       «НАДЁЖНЫЙ ПАРТНЁР» в модуле «О компании». */
    background: var(--zt-products-yellow, #ffb800);
    border: 0;
    border-radius: 8px;
    font: 800 11px/1 var(--zt-font, Arial, Helvetica, sans-serif);
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart:hover {
    background: var(--zt-products-yellow, #ffb800);
}

.poisk-results .zt-catalog-grid .zt-product-card__cart-success {
    display: none;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart.is-loading {
    cursor: wait;
    opacity: .65;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart.is-added {
    color: #fff !important;
    background: #3f9b60;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart.is-added .zt-product-card__cart-label {
    display: none;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart.is-added .zt-product-card__cart-success {
    display: inline;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart.is-error {
    color: #fff !important;
    background: #bd4d45;
}

.poisk-results .zt-catalog-grid .zt-product-card__more {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #737a7e !important;
    background: #fff;
    border: 1px solid #dfe2e2;
    border-radius: 8px;
    text-decoration: none !important;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card__more:hover {
    color: #333a43 !important;
    background: #f5f5f4;
    border-color: #cfd2d2;
}

.poisk-results .zt-catalog-grid .zt-product-card__more svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__body {
            min-height: 210px;
            }
}

.poisk-results .zt-catalog-grid .zt-product-card__media {
    padding: 0 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__image img {
    object-fit: cover !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__badge {
    top: 10px !important;
    left: 10px !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__price {
    text-align: right;
}

.poisk-results .zt-catalog-grid .zt-product-card__image {
    position: relative;
}

.poisk-results .zt-catalog-grid .zt-product-card__dots {
    position: absolute;
    right: 0;
    bottom: 5px;
    left: 0;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 4px;
    pointer-events: none;
}

.poisk-results .zt-catalog-grid .zt-product-card__dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(21, 26, 30, .25);
}

.poisk-results .zt-catalog-grid .zt-product-card__dots i.is-active {
    background: #ffb800;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart {
    position: relative;
    overflow: hidden;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    transition: transform .3s cubic-bezier(.25, 1, .5, 1), opacity .2s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    /* Корзинка чёрная и до нажатия — #333a43 читался серым */
    stroke: #000;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart:hover .zt-product-card__cart-icon {
    animation: zt-cart-hop .5s cubic-bezier(.25, 1, .5, 1);
}

.poisk-results .zt-catalog-grid .zt-product-card__cart.is-loading .zt-product-card__cart-icon,
.poisk-results .zt-catalog-grid .zt-product-card__cart.is-added .zt-product-card__cart-icon,
.poisk-results .zt-catalog-grid .zt-product-card__cart.is-error .zt-product-card__cart-icon {
    opacity: 0;
}

.poisk-results .zt-catalog-grid .zt-product-card__favorite {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    color: #6b747c;
    background: rgba(255, 255, 255, .92);
    border: 1px solid #e3e5e5;
    border-radius: 50%;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card__favorite svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: fill .18s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card__favorite:hover {
    color: #151a1e;
    border-color: #ffb800;
    transform: scale(1.06);
}

.poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active {
    color: #fff;
    background: #ffb800;
    border-color: #ffb800;
}

.poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active svg {
    fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
    .poisk-results .zt-catalog-grid .zt-product-card__cart-blob,
    .poisk-results .zt-catalog-grid .zt-product-card__cart-blob svg,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite {
            transition: none;
            }
}

@media (prefers-reduced-motion: reduce) {
    .poisk-results .zt-catalog-grid .zt-product-card__cart-qty,
    .poisk-results .zt-catalog-grid .zt-product-card__qty-confirm {
            transition: none;
            }
}

.poisk-results .zt-catalog-grid .zt-product-card__id-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.poisk-results .zt-catalog-grid .zt-product-card__maker {
    flex: 0 1 auto;
    overflow: hidden;
    color: #8a939b;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.poisk-results .zt-catalog-grid .zt-product-card__avail {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    color: #23a05a;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.poisk-results .zt-catalog-grid .zt-product-card__avail i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #2eb968;
}

.poisk-results .zt-catalog-grid .zt-product-card__avail--order {
    color: #98a1a9;
}

.poisk-results .zt-catalog-grid .zt-product-card__avail--order i {
    background: #b9c0c6;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase {
    display: flex;
    flex: 1 1 auto;
    align-items: stretch;
    gap: 6px;
    width: 100%;
    min-width: 0;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase .zt-product-card__stepper,
.poisk-results .zt-catalog-grid .zt-product-card__purchase .zt-product-card__cart {
    height: 42px !important;
    min-height: 42px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center;
}

.poisk-results .zt-catalog-grid .zt-product-card__stepper {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    background: #fff;
    border: 1px solid #dfe3e7;
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__stepper {
    border-color: #ffb800;
    box-shadow: 0 0 0 1px #ffb800;
}

.poisk-results .zt-catalog-grid .zt-product-card__step-btn {
    display: grid;
    place-items: center;
    width: 28px;
    height: 100%;
    min-height: 40px;
    padding: 0;
    color: #333a43;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    background: transparent;
    border: 0;
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease;
}

.poisk-results .zt-catalog-grid .zt-product-card__step-btn:hover {
    color: #111820;
    background: transparent;
}

.poisk-results .zt-catalog-grid .zt-product-card__step-value {
    min-width: 24px;
    color: #1e2428;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase .zt-product-card__cart {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart {
    color: #1d9d54 !important;
    background: #fff !important;
    /* обводка один в один со степпером: рамка 1px + тень 1px */
    border: 1px solid #ffb800 !important;
    box-shadow: 0 0 0 1px #ffb800 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart:hover {
    background: #fff !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart:hover .zt-product-card__cart-icon {
    animation: none;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-label,
.poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-icon {
    color: #1d9d54 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-svg-cart {
    /* N-140/N-141: корзинка в состоянии «N в корзине» — чёрная
       (была жёлтая по N-135, заказчик передумал) */
    stroke: #000 !important;
}

/* ---- из zt-redesign.css — 3 правил ---- */

.poisk-results .zt-catalog-grid .zt-product-card__name,
.poisk-results .zt-catalog-grid .zt-product-card__article,
.poisk-results .zt-catalog-grid .zt-product-card__article-mobile {
    overflow-wrap: anywhere;
}

.poisk-results .zt-catalog-grid.zt-sale-products .zt-product-card__cart,
.poisk-results .zt-catalog-grid.zt-sale-products .zt-product-card__buttons .zt-product-card__cart {
    width: 100% !important;
    flex: 1 1 auto !important;
}

.poisk-results .zt-catalog-grid.zt-sale-products .zt-product-card__buttons {
    width: 100% !important;
    display: flex !important;
}

/* ---- из zt-home-unify.css — 42 правил ---- */

.poisk-results .zt-catalog-grid .zt-product-card__name,
.poisk-results .zt-catalog-grid .zt-product-card__name a {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: var(--zt-ink) !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__name,
.poisk-results .zt-catalog-grid .zt-product-card__name a,
.poisk-results .zt-catalog-grid .zt-product-card * {
    font-family: var(--zt-font, 'Inter', Arial, sans-serif) !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart {
    background-color: var(--zt-yellow, #FFB800) !important;
    color: #1A1A1A !important;
    border-radius: var(--zt-radius-btn) !important;
    font-weight: 700 !important;
    border-color: var(--zt-yellow, #FFB800) !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart:hover {
    background-color: var(--zt-yellow-hover, #E8A600) !important;
    color: #1A1A1A !important;
}

.poisk-results .zt-catalog-grid .zt-product-card {
    border-radius: var(--zt-radius-card) !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart {
    min-height: var(--zt-btn-h-sm) !important;
    height: auto !important;
    padding: 0 var(--zt-btn-pad-sm) !important;
    font-size: var(--zt-btn-fs-sm) !important;
    font-weight: var(--zt-btn-weight) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    border-radius: var(--zt-radius-btn, 8px) !important;
    border: 1px solid var(--zt-yellow, #FFB800) !important;
    background-color: var(--zt-yellow, #FFB800) !important;
    color: #1A1A1A !important;
    -webkit-text-fill-color: #1A1A1A !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__more {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    /* N-027…N-035 (06.08.2026): квадрат со скруглением вместо круга —
       единый стиль стрелок каруселей по указанию заказчика */
    border-radius: 10px !important;
    border: 1px solid #E3E6E9 !important;
    background-color: #FFFFFF !important;
    color: #333A43 !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__more:hover {
    border-color: var(--zt-yellow, #FFB800) !important;
}

@media (max-width: 1023px) {
    .poisk-results .zt-catalog-grid .zt-product-card__cart {
            min-height: 44px !important;
            }
}

.poisk-results .zt-catalog-grid .zt-product-card__cart {
    color: #1A1A1A !important;
    -webkit-text-fill-color: #1A1A1A !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart {
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
}

.poisk-results .zt-catalog-grid .zt-product-card__article,
.poisk-results .zt-catalog-grid .zt-product-card__article-mobile,
.poisk-results .zt-catalog-grid .zt-product-card__brand,
.poisk-results .zt-catalog-grid .zt-product-card__stock,
.poisk-results .zt-catalog-grid .zt-product-card__property-label,
.poisk-results .zt-catalog-grid .zt-product-card__client-price-label,
.poisk-results .zt-catalog-grid .zt-product-card__added,
.poisk-results .zt-catalog-grid .zt-product-card__image-label {
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__price {
    /* N-097 → N-111: цена ещё заметнее */
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__prices {
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    gap: 8px !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__old-price {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-decoration: line-through;
    white-space: nowrap;
}

.poisk-results .zt-catalog-grid .zt-product-card__prices .zt-product-card__price--request,
.poisk-results .zt-catalog-grid .zt-product-card__price.zt-product-card__price--request {
    font-size: 13px !important;
    text-align: right;
}

.poisk-results .zt-catalog-grid .zt-product-card {
    display: flex !important;
    flex-direction: column !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__name {
    min-height: 2.7em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart,
.poisk-results .zt-catalog-grid .zt-product-card [class*="__footer"],
.poisk-results .zt-catalog-grid .zt-product-card [class*="__actions"] {
    margin-top: auto !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__badge {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
}

@media (max-width: 1023px) {
    .poisk-results .zt-catalog-grid .zt-product-card__more {
            width: 44px !important;
            height: 44px !important;
            min-width: 44px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__name a,
    .poisk-results .zt-catalog-grid .zt-product-card a[class*="__image"] {
            display: block !important;
            min-height: 44px !important;
            }
}

.poisk-results .zt-catalog-grid .zt-product-card img[src*="c79c3kq4tn43rcwt3zz3w71z2xilkbe5"],
.poisk-results .zt-catalog-grid .zt-product-card img[src*="4ziinx151auz9aqegxadaywaj6uq5f5l"] {
    content: url("/local/templates/zipteh/assets/images/product-placeholder.svg") !important;
    object-fit: contain !important;
    background: #F6F7F8 !important;
    width: 100% !important;
    height: 100% !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart {
    transition: background-color .18s ease, border-color .18s ease,
                color .18s ease, transform .12s ease !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart:active {
    transform: scale(.985) !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart:focus-visible {
    outline: 3px solid #1A1A1A !important;
    outline-offset: 3px !important;
    outline-style: solid !important;
}

.poisk-results .zt-catalog-grid .swiper-slide.zt-product-card {
    height: auto !important;
    align-self: stretch !important;
}

.poisk-results .zt-catalog-grid.zt-sale-products .zt-product-card__cart {
    font-size: 14px !important;
    font-weight: 600 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__cart .zt-product-card__cart-label,
.poisk-results .zt-catalog-grid .zt-product-card__cart .zt-product-card__cart-success {
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__badge {
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__price:not([class*="label"]) {
            font-size: 18px !important;
            }
}

.poisk-results .zt-catalog-grid .zt-product-card__id-row .zt-product-card__article,
.poisk-results .zt-catalog-grid .zt-product-card__article {
    margin: 0 !important;
    /* двойной селектор: инлайн модуля красит артикул в muted
       с той же специфичностью — перебиваем связкой id-row */
    color: #1e2428 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em;
}

.poisk-results .zt-catalog-grid .zt-product-card__name:not(#zt_):not(#zt_),
.poisk-results .zt-catalog-grid .zt-product-card__name:not(#zt_):not(#zt_) a {
    color: #6b747c !important;
    /* двойной :not(#zt_) — иначе шрифтовой слой заголовков
       (body h3:not(#zt_):not(#zt_) → Russo One) сильнее */
    font-family: var(--zt-font-badge, 'Manrope', Arial, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.poisk-results .zt-catalog-grid .zt-product-card__prices {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0 8px !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__old-price {
    grid-column: 1;
    order: -1;
    margin: 0 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__price:not([class*="request"]) {
    grid-column: 1;
    margin-left: 0 !important;
    text-align: left !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__avail {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    margin-left: 0 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__body {
    min-height: 0 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__prices {
    margin: 10px 0 0 !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__buttons {
    margin-top: 10px !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__name:not(#zt_):not(#zt_) {
    display: -webkit-box !important;
    overflow: hidden !important;
    max-height: 32px;
    margin: 7px 0 0 !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* ---- из sale-products.php — 105 правил ---- */

.poisk-results .zt-catalog-grid .zt-product-card,
.poisk-results .zt-catalog-grid .zt-product-card a,
.poisk-results .zt-catalog-grid .zt-product-card button {
    font-family: inherit !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__article,
.poisk-results .zt-catalog-grid .zt-product-card__stock,
.poisk-results .zt-catalog-grid .zt-product-card__old-price {
    color: var(--zt-products-muted) !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__mobile-meta,
.poisk-results .zt-catalog-grid .zt-product-card__mobile-brand {
    display: none;
}

.poisk-results .zt-catalog-grid .zt-product-card__name,
.poisk-results .zt-catalog-grid .zt-product-card__name a,
.poisk-results .zt-catalog-grid .zt-product-card__price {
    color: var(--zt-products-text) !important;
}

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card.swiper-slide {
            height: auto !important;
            min-height: 0 !important;
            align-self: stretch !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            overflow: hidden !important;
            padding: 8px !important;
            border: 1px solid var(--zt-products-border) !important;
            border-radius: 12px !important;
            background: var(--zt-products-surface) !important;
            box-shadow: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__media {
            position: relative;
            width: 100% !important;
            min-width: 0 !important;
            /* 09.09.2026: кадр 3:2 и на телефоне. Было 112 px
               фиксированной высоты — при ширине карточки 170 px
               это 1,52, близко, но не 1,5, а на 360 px давало 1,42. */
            height: auto !important;
            min-height: 0 !important;
            aspect-ratio: 3 / 2 !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: hidden;
            border-radius: 8px !important;
            background: #f7f7f7 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__image {
            width: 100% !important;
            height: 100% !important;
            min-height: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            padding: 8px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__image img {
            width: 100% !important;
            height: 100% !important;
            max-width: 118px !important;
            max-height: 94px !important;
            object-fit: contain !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__badge {
            top: 6px !important;
            left: 6px !important;
            z-index: 3;
            min-height: 19px !important;
            padding: 0 6px !important;
            border-radius: 8px !important;
            font-size: 12px !important;
            font-weight: 700 !important;
            line-height: 19px !important;
            /* П-4: капс через CSS, в данных обычный регистр */
        text-transform: uppercase;
        letter-spacing: .05em;
        }

    .poisk-results .zt-catalog-grid .zt-product-card__body {
            min-width: 0;
            min-height: 0 !important;
            height: auto !important;
            /* Растягиваем тело на остаток высоты карточки: иначе внизу
               оставалась пустота, а кнопка «В корзину» висела в воздухе
               на разной высоте у соседних карточек. */
            flex: 1 1 auto !important;
            display: flex !important;
            flex-direction: column !important;
            padding: 8px 1px 0 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__article {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__mobile-meta {
            width: 100%;
            min-width: 0;
            margin: 0 0 3px !important;
            display: block !important;
            overflow: hidden;
            color: var(--zt-products-muted) !important;
            font-size: 12px !important;
            font-weight: 500 !important;
            line-height: 1.2 !important;
            text-overflow: ellipsis;
            white-space: nowrap;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__article-mobile {
            display: block;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__name {
            /* Ровно две строки, а не «до двух»: в em, чтобы высота
               не разъезжалась при смене кегля. Иначе однострочное
               название делало карточку короче, и цена у соседей
               вставала на разной высоте (разброс 81 px на 390). */
            min-height: 2.6em !important;
            height: 2.6em !important;
            margin: 0 0 2px !important;
            overflow: hidden;
            font-size: 12px !important;
            font-weight: 600 !important;
            line-height: 1.3 !important;
            display: -webkit-box !important;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__name a {
            font-size: inherit !important;
            font-weight: inherit !important;
            line-height: inherit !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__mobile-brand {
            min-width: 0;
            margin: 0 0 2px !important;
            display: block !important;
            overflow: hidden;
            color: var(--zt-products-muted) !important;
            font-size: 12px !important;
            font-weight: 500 !important;
            line-height: 1.2 !important;
            text-overflow: ellipsis;
            white-space: nowrap;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__stock {
            min-width: 0;
            margin: 0 0 2px !important;
            overflow: hidden;
            font-size: 12px !important;
            line-height: 1.2 !important;
            text-overflow: ellipsis;
            white-space: nowrap;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__stock > span {
            width: 5px !important;
            height: 5px !important;
            margin-right: 4px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__prices {
            min-height: 0 !important;
            margin-top: -1px !important;
            margin-bottom: 4px !important;
            display: flex !important;
            flex-direction: column !important;
            justify-content: flex-start !important;
            gap: 1px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__old-price {
            font-size: 12px !important;
            line-height: 1.1 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__price {
            font-size: 16px !important;
            font-weight: 700 !important;
            line-height: 1.1 !important;
            white-space: nowrap;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__price--request {
            font-size: 12px !important;
            white-space: normal;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__buttons {
            display: grid !important;
            /* Одна колонка: вторая была под кнопку-стрелку, которую
               запрещает ТЗ §8.7 и которая удалена из разметки. */
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 5px !important;
            /* Прижимаем к нижнему краю карточки — ТЗ, критерий 14 */
            margin: auto 0 0 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__cart,
    .poisk-results .zt-catalog-grid .zt-product-card__more {
            min-height: 44px !important;
            height: 44px !important;
            border-radius: 8px !important;
            box-shadow: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__cart {
            min-width: 0;
            padding: 0 6px !important;
            overflow: hidden;
            color: var(--zt-products-text) !important;
            font-size: 12px !important;
            font-weight: 600 !important;
            line-height: 30px !important;
            text-overflow: ellipsis;
            white-space: nowrap;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__more {
            width: 44px !important;
            min-width: 44px !important;
            padding: 0 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__more svg {
            width: 14px !important;
            height: 14px !important;
            }
}

@media (max-width: 380px) {
    .poisk-results .zt-catalog-grid .zt-product-card.swiper-slide {
            height: auto !important;
            min-height: 0 !important;
            padding: 7px !important;
            }

    /* 09.09.2026: ниже 380 px кадр тоже держит 3:2 —
       фиксированные 102 px давали 1,42. */
    .poisk-results .zt-catalog-grid .zt-product-card__media {
            height: auto !important;
            min-height: 0 !important;
            aspect-ratio: 3 / 2 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__image {
            height: 100% !important;
            min-height: 0 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__image img {
            max-height: 86px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__body {
            padding-top: 7px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__price {
            font-size: 14px !important;
            }
}

@media (min-width: 1281px) and (max-width: 1599px) {
    .poisk-results .zt-catalog-grid .zt-product-card__cart-icon {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__cart {
            justify-content: center !important;
            gap: 0 !important;
            text-align: center !important;
            }
}

@media (max-width: 1100px) {
    .poisk-results .zt-catalog-grid .zt-product-card__cart-label {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-label,
    .poisk-results .zt-catalog-grid .zt-product-card__cart.is-loading .zt-product-card__cart-label,
    .poisk-results .zt-catalog-grid .zt-product-card__cart.is-error .zt-product-card__cart-label {
            display: inline !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-icon {
            display: grid !important;
            opacity: 1 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__cart {
            justify-content: center !important;
            gap: 5px !important;
            text-align: center !important;
            }
}

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__image img {
            display: block !important;
            margin: auto !important;
            object-position: center center !important;
            transform: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite {
            top: 6px !important;
            }
}

@media (min-width: 381px) and (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__mobile-meta,
    .poisk-results .zt-catalog-grid .zt-product-card__mobile-brand {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__id-row {
            display: flex !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__article {
            display: block !important;
            min-width: 0;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__prices {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto !important;
            grid-template-rows: auto auto !important;
            align-items: end !important;
            gap: 1px 6px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__old-price {
            grid-column: 2;
            grid-row: 1;
            justify-self: end;
            padding-bottom: 0 !important;
            text-align: right;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__price {
            grid-column: 2;
            grid-row: 2;
            justify-self: end;
            text-align: right;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            grid-column: 1;
            grid-row: 1 / 3;
            align-self: end;
            justify-self: start;
            margin: 0 !important;
            text-align: left;
            }
}

@media (max-width: 380px) {
    .poisk-results .zt-catalog-grid .zt-product-card__badge {
            min-height: 16px !important;
            padding: 0 4px !important;
            border-radius: 6px !important;
            font-size: 10px !important;
            line-height: 16px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__id-row,
    .poisk-results .zt-catalog-grid .zt-product-card__maker,
    .poisk-results .zt-catalog-grid .zt-product-card__mobile-brand {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__prices {
            display: grid !important;
            grid-template-columns: auto minmax(0, 1fr) !important;
            grid-template-rows: auto auto !important;
            align-items: end !important;
            gap: 1px 5px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__old-price {
            grid-column: 1;
            grid-row: 1;
            justify-self: start;
            padding-bottom: 0 !important;
            text-align: left;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__price {
            grid-column: 1;
            grid-row: 2;
            justify-self: start;
            text-align: left;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            grid-column: 2;
            grid-row: 1 / 3;
            align-self: end;
            justify-self: end;
            margin: 0 !important;
            text-align: right;
            }
}

@media (min-width: 681px) and (max-width: 800px) {
    .poisk-results .zt-catalog-grid .zt-product-card {
            position: relative;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            position: absolute !important;
            top: 37px !important;
            left: 10px !important;
            z-index: 4;
            margin: 0 !important;
            }
}

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card {
            position: relative;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            position: absolute !important;
            top: 38px !important;
            left: 14px !important;
            z-index: 4;
            grid-column: auto !important;
            grid-row: auto !important;
            margin: 0 !important;
            text-align: left !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite {
            top: 6px !important;
            right: 6px !important;
            width: 19px !important;
            height: 19px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite svg {
            width: 14px !important;
            height: 14px !important;
            }
}

@media (max-width: 380px) {
    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            top: 34px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite:hover,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active {
            width: 16px !important;
            height: 16px !important;
            color: #6b747c !important;
            background: transparent !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            transform: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active {
            color: var(--zt-products-yellow) !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite svg {
            width: 16px !important;
            height: 16px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__old-price {
            display: none !important;
            }
}

@media (min-width: 681px) and (max-width: 800px) {
    .poisk-results .zt-catalog-grid .zt-product-card.swiper-slide {
            min-height: 355px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__prices {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto !important;
            grid-template-rows: auto auto !important;
            align-items: end !important;
            gap: 3px 6px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__old-price {
            grid-column: 1;
            grid-row: 1;
            justify-self: start;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__price {
            grid-column: 1 / 3;
            grid-row: 2;
            justify-self: start;
            text-align: left;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            position: static !important;
            grid-column: 2;
            grid-row: 1;
            justify-self: end;
            align-self: end;
            margin: 0 !important;
            text-align: right !important;
            }
}

@media (min-width: 381px) and (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card.swiper-slide {
            min-height: 272px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__price {
            justify-self: end !important;
            text-align: right !important;
            }
}

@media (max-width: 380px) {
    .poisk-results .zt-catalog-grid .zt-product-card.swiper-slide {
            min-height: 260px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            position: absolute !important;
            top: 113px !important;
            right: 8px !important;
            left: auto !important;
            display: flex !important;
            justify-content: flex-end;
            text-align: right !important;
            }
}

@media (min-width: 681px) and (max-width: 800px) {
    .poisk-results .zt-catalog-grid .zt-product-card__purchase {
            gap: 4px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__stepper {
            width: 66px !important;
            flex: 0 0 66px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__step-btn {
            width: 22px !important;
            flex: 0 0 22px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__step-value {
            min-width: 20px !important;
            font-size: 13px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__cart {
            gap: 4px !important;
            padding-right: 4px !important;
            padding-left: 4px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__cart-label {
            white-space: nowrap !important;
            }
}

@media (min-width: 381px) and (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__favorite,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite:hover,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active {
            color: #6b747c !important;
            background: transparent !important;
            border: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            transform: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active {
            color: var(--zt-products-yellow) !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite svg {
            width: 19px !important;
            height: 19px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__old-price {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__prices {
            margin-top: auto !important;
            margin-bottom: 6px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__buttons {
            margin-top: 0 !important;
            }
}

@media (max-width: 380px) {
    .poisk-results .zt-catalog-grid .zt-product-card__avail {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__mobile-brand {
            display: block !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__prices {
            margin-top: auto !important;
            margin-bottom: 6px !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__buttons {
            margin-top: 0 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-label {
            width: 16px;
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            overflow: visible;
            font-size: 0 !important;
            line-height: 1;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-label::after {
            content: "→";
            color: currentColor;
            font-size: 18px;
            font-weight: 800;
            line-height: 1;
            }
}

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active:hover {
            color: var(--zt-products-yellow) !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active svg,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active svg path {
            color: var(--zt-products-yellow) !important;
            fill: currentColor !important;
            stroke: currentColor !important;
            }
}

@media (max-width: 380px) {
    .poisk-results .zt-catalog-grid .zt-product-card__mobile-brand {
            display: none !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart {
            gap: 2px !important;
            padding-right: 10px !important;
            padding-left: 10px !important;
            }
}

@media (min-width: 681px) and (max-width: 1100px) {
    .poisk-results .zt-catalog-grid .zt-product-card__cart {
            align-items: center !important;
            flex-wrap: nowrap !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-icon,
    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-label {
            flex: 0 0 auto !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase.is-in-basket .zt-product-card__cart-label {
            display: inline-flex !important;
            align-items: center !important;
            line-height: 1 !important;
            white-space: nowrap !important;
            }
}

@media (min-width: 760px) {
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active:hover {
            color: var(--zt-products-yellow) !important;
            background: #fff !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active {
            border-color: #e3e5e5 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active:hover {
            border-color: var(--zt-products-yellow) !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active svg,
    .poisk-results .zt-catalog-grid .zt-product-card__favorite.is-active svg path {
            color: var(--zt-products-yellow) !important;
            fill: currentColor !important;
            stroke: currentColor !important;
            }
}

@media (min-width: 1600px) {
    .poisk-results .zt-catalog-grid .zt-product-card__favorite {
            display: grid !important;
            place-items: center !important;
            padding: 0 !important;
            }

    .poisk-results .zt-catalog-grid .zt-product-card__favorite svg {
            display: block !important;
            margin: 0 !important;
            transform: none !important;
            }
}
/* ---------------------------------------------------------
   Токены карточки — своей копией, а не в расчёте на соседей.

   Правила, перенесённые генератором, ссылаются на двенадцать
   переменных. На главной их задаёт inline-<style> модуля
   `sale-products.php` (`#ztSaleProducts { --zt-products-*: … }`)
   и файлы `zt-redesign.css` / `zt-home-unify.css`. Ни того,
   ни другого нет ни на `/catalog/`, ни в карточке товара —
   на бою `zt-redesign.css` и `zt-home-unify.css` вообще
   отдают 404 (проверено 01.09.2026). Селектор самих токенов
   не содержит `zt-product-card`, поэтому генератор его
   отбрасывает и переменные до этих файлов не доезжали:
   объявления с `var()` без запасного значения браузер
   отбрасывает молча.

   Значения сняты замером с принятого модуля на главной,
   поэтому плитка и блоки карточки товара выглядят так же
   и не зависят от порядка выкладки других позиций.
   --------------------------------------------------------- */

.poisk-results .zt-catalog-grid {
    --zt-products-yellow: #ffb800;
    --zt-products-text: #333a43;
    --zt-products-muted: #929aa1;
    --zt-products-border: #d9dee5;
    --zt-products-surface: #ffffff;
    --zt-ink: #333a43;
    --zt-radius-card: 12px;
    --zt-radius-btn: 8px;
    --zt-btn-h-sm: 40px;
    --zt-btn-pad-sm: 16px;
    --zt-btn-fs-sm: 13px;
    --zt-btn-weight: 700;
}


/* ---------------------------------------------------------
   Товары без цены — последним слоем.

   У принятого модуля уже есть свой вариант `--request`
   (`font-size: 13px !important`, специфичность 0-4-0), поэтому
   переопределение стоит здесь, ниже всех перенесённых правил,
   и повторяет ту же специфичность.

   По решению заказчика 01.09.2026 строка «Уточняйте цену»
   в раскладке карточек набирается кеглем и гарнитурой кнопки
   «В корзину»: 14 px / 600 / Manrope. Модификатор вешает
   catalog-view.js только там, где data-price пустой или нулевой.
   --------------------------------------------------------- */

.poisk-results .zt-catalog-grid .zt-product-card__prices .zt-product-card__price--request,
.poisk-results .zt-catalog-grid .zt-product-card__price.zt-product-card__price--request {
    font-family: var(--zt-font-btn, "Manrope", "Inter", system-ui, Arial, sans-serif) !important;
    font-size: 14px !important;
    /* N-507: заказчик просил жирнее — 700 вместо 600 */
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    align-self: center !important;
    /* N-509: у принятого модуля строка выровнена вправо
       (`text-align: right`), в карточке нужна по левому краю. */
    text-align: left !important;
}

/* N-507 → N-744 · N-747 (07.09.2026). Прежняя редакция переводила ряд
   без цены во flex, чтобы длинная подпись не сталкивала статус на вторую
   строку. Побочный эффект вскрылся на приёмке: карточка без цены получала
   свою раскладку — свой промежуток (8 px против 3 px), свою вертикальную
   привязку (center против end) и свою высоту строки (16,8 px против
   28,8 px). Из-за этого на 1278 px строка цены стояла на 8 px ниже, чем
   у соседей, а на 766 px весь блок был на 7 px короче и «Под заказ»
   оказывался не на уровне «N шт.» соседней карточки.

   Теперь обе карточки идут одной сеткой. Исходную причину — уезжающий
   статус — закрывает не смена раскладки, а явная колонка: у строки без
   цены не было `grid-column`, она растягивалась на `1 / 3` и выталкивала
   статус. Задаём ей колонку 1, как настоящей цене, разрешаем ужиматься
   и резервируем высоту строки цены, чтобы ряды совпали. Кегль 14/700
   (N-507, N-509) не меняется — текст центруется внутри строки.

   Высота строки цены держится переменной: 28,8 px при кегле 24, а ниже
   680 px цена уменьшается до 18 px и строка становится 19,8 px. */
.poisk-results .zt-catalog-grid .zt-product-card__prices {
    --zt-card-price-line: 28.8px;
}

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__prices {
        --zt-card-price-line: 19.8px;
    }
}

.poisk-results .zt-catalog-grid .zt-product-card__prices .zt-product-card__price--request,
.poisk-results .zt-catalog-grid .zt-product-card__price.zt-product-card__price--request {
    grid-column: 1 !important;
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: var(--zt-card-price-line) !important;
}

.poisk-results .zt-catalog-grid .zt-product-card__prices .zt-product-card__avail {
    white-space: nowrap;
}


/* Кнопка «В корзину»: часть легаси-CSS приходит с боевого домена и
   перекрашивает/переразмеряет её по имени тега, из-за чего подпись
   уезжала на 13 px / 700 / Tektur вместо 14 / 600 / Manrope с главной.
   Закрепляем значения главной — на них же равняется «Цена по запросу». */

.poisk-results .zt-catalog-grid .zt-product-card__cart,
.poisk-results .zt-catalog-grid .zt-product-card__cart-label {
    font-family: var(--zt-font-btn, "Manrope", "Inter", system-ui, Arial, sans-serif) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}


/* =========================================================
   04.09.2026 — правки по аудиту страницы каталога.
   Файл подключается ТОЛЬКО на catalog.html, поэтому селекторы
   вида `.poisk-results ...` тут безопасны: на карточку товара
   и на остальные страницы они не попадают.
   Разбор: Вики/05 Аудит/Аудит страницы каталога.md
   ========================================================= */


/* ---------------------------------------------------------
   A. Каталог в сетку шапки.

   Боевой CSS компонента выводит секцию во всю ширину окна:
   `left:50% + width:100vw + transform:translateX(-50%)`
   (components/bitrix/catalog/catalog/style.css:557-565, всё
   с !important). Отсюда три беды сразу:

   1. 100vw включает полосу прокрутки, body — нет. Колонка
      каталога уезжала на 7,5 px левее и правее колонки шапки
      на всех ширинах 768…1920. Каталог был единственной
      страницей стенда мимо сетки шапки.
   2. transform делает секцию containing block для
      position:fixed — мобильная панель фильтров считала
      top:0 от верха секции (10 490 px), а не от экрана,
      и ниже первого экрана не показывалась вовсе.
   3. Секция была шире body на 8 px; переполнение гасил
      overflow-x:clip.

   Приём взят со страницы «Сертификаты»: колонку задаёт
   родительский `.zt-page-content-area > .container`, у которого
   уже стоит сетка шапки (site-shell.css:289-296), а секция
   и её внутренний .container просто занимают её целиком.

   Специфичность повторяет боевую (html body + 3 класса),
   файл подключается позже — поэтому !important перебивается.
   --------------------------------------------------------- */

html body .zip-catalog-page,
html body .content-area.content-area-catalog.zip-catalog-page {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
}

html body .zip-catalog-page > .container,
html body .content-area.content-area-catalog.zip-catalog-page > .container {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Панель фильтров как ящик должна прокручиваться внутри себя.
   `overflow-y: auto` из poisk-results.css перебивалось правилом
   оформления `overflow: hidden` (оно ниже по этому файлу и нужно,
   чтобы скругление 12 px резало содержимое на десктопе). Возвращаем
   прокрутку только там, где панель — ящик. */
@media (max-width: 980px) {
    .poisk-results .poisk-filters {
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
}


/* ---------------------------------------------------------
   B. Вертикальный ритм.

   Было: над H1 108 px из трёх паддингов подряд (50 + 26 + 32),
   под списком 262 px из четырёх (80 + 52 + 50 + 80). На
   «Сертификатах» на том же месте один отступ 80 px.

   Оставляем ровно по одному отступу на стык:
   шапка → крошки 32 (как на «Вакансиях»), крошки → H1 24,
   список → CTA 80 (как на «Сертификатах»).
   --------------------------------------------------------- */

/* Селекторы подняты до `html body` + два класса: на узких ширинах
   ту же пару перебивает `mobile.css:85` — `.content-area
   { padding: 20px 0 !important }` из общего файла, который его
   и не трогаем. */
html body .content-area.zt-page-content-area--catalog {
    padding-top: 32px !important;
    padding-bottom: 0 !important;
}

/* Селектор поднят до `html body` + три класса: боевой CSS ставит
   `padding: 26px 0 52px !important` селектором из трёх классов
   (catalog/style.css:27-31), и правило из двух классов ему проигрывает. */
html body .zt-page-content-area--catalog .zip-catalog-page,
html body .content-area.content-area-catalog.zip-catalog-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Крошки на остальных страницах отбиты 50 px — там под ними сразу
   начинается модуль. В каталоге дальше идёт свой отступ до H1,
   иначе разрыв складывается в 100 px. Правило только для каталога. */
html body .zt-page-content-area--catalog .zt-breadcrumbs,
html body .zt-page-content-area--catalog .breadcrumbs {
    margin-bottom: 0 !important;
}

/* Нижний отступ — 16 px, а не 80. Видимый просвет считается не до
   секции CTA, а до её карточки, и к нему прибавляется собственный
   верхний паддинг секции: 64 px на десктопе, 48 на планшете, 36 на
   телефоне. При 80 px получалось 144 px пустоты между кнопками
   пагинации и карточкой. С 16 px просвет ложится на общую лестницу
   отступов сайта: 80 → 64 → 56. */
html body .zt-page-content-area--catalog #poisk-results {
    margin-top: 24px !important;
    margin-bottom: 16px !important;
}

/* Прежнее правило ставило 40 px и не срабатывало — фактически
   было 80 px из lead-form-compact.css. Теперь отступ до CTA
   целиком задаёт margin-bottom списка. */
body:has(.zt-page-content-area--catalog) #ziptehLeadModule {
    margin-top: 0 !important;
}

@media (max-width: 680px) {
    html body .content-area.zt-page-content-area--catalog {
        padding-top: 20px !important;
    }

    html body .zt-page-content-area--catalog #poisk-results {
        margin-top: 18px !important;
        margin-bottom: 20px !important;
    }
}


/* ---------------------------------------------------------
   C. Пагинация помещается на любой ширине.

   Было: треки `auto auto auto minmax(150px,1fr)`. Средний трек
   с номерами сжиматься не мог, а подписи «Предыдущая»/
   «Следующая» держат min-width 132 px и превращаются в стрелки
   только с 900 px. В полосе 901…1085 px ряд был шире колонки:
   на 1024 «Показать ещё» уезжала за экран на 279 px,
   «Следующая» — на 107. Полосы прокрутки нет (overflow-x:clip),
   поэтому кнопки просто исчезали.

   Правка: средний трек `minmax(0,1fr)` — сжимается и при
   нехватке места прокручивает номера по горизонтали.
   Ниже 620 px раскладка своя (см. выше по файлу), поэтому
   правило ограничено `min-width: 621px`.
   --------------------------------------------------------- */

/* N-714: «стрелочки должны быть уже в кнопках, а не рядом с ними,
   выравнивание по центру». Жёсткий грид заменён на flex с переносом
   и центрированием: ряд собирается по содержимому и центрируется
   целиком, а при нехватке ширины переносится, а не вылезает за экран.
   Стрелка — псевдоэлемент внутри самой кнопки направления
   («← Предыдущая», «Следующая →»), фирменным жёлтым. */
/* N-718, N-717: «предыдущая», номера и «следующая» — слева,
   «Показать ещё» — справа, прижата к краю колонки.
   N-719: у ряда снята обводка — он больше не карточка, а строка
   в общем потоке, поэтому обнулены и рамка, и скругление,
   и фон, и боковые поля: кнопки встают ровно по краям колонки. */
@media (min-width: 621px) {
    .poisk-results .main-ui-pagination {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
    }

    .poisk-results .main-ui-pagination-pages-list {
        min-width: 0;
        max-width: 100%;
        flex: 0 1 auto;
        flex-wrap: wrap;
        justify-content: flex-start;
        order: 2;
    }

    .poisk-results .main-ui-pagination-prev { order: 1; }
    .poisk-results .main-ui-pagination-next { order: 3; }

    .poisk-results .zt-catalog-load-more {
        order: 4;
        margin-left: auto;
    }

    /* У Битрикса на кнопках и номерах свои поля `0 10px`. После снятия
       обводки они отодвигали «Предыдущая» на 10 px от левого края
       колонки — ряд переставал попадать в край плитки. Промежутки
       и так задаёт gap. */
    .poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-page {
        margin-right: 0;
        margin-left: 0;
    }

    /* inline-grid из базового правила поставил бы стрелку и подпись
       в разные строки — для «стрелка рядом с текстом» нужен flex. */
    #poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .poisk-results .main-ui-pagination-arrow::before,
    .poisk-results .main-ui-pagination-arrow::after {
        color: #ffb800;
        font: 700 15px/1 var(--zt-font-btn, "Manrope", Arial, sans-serif);
    }
}

/* ---------------------------------------------------------
   N-723…N-726: сколько строк занимает тулбар.

   Было: `poisk-results.css` с 1100 px разворачивает тулбар
   в колонку (`flex-direction: column`), поэтому сводка и элементы
   управления всегда шли двумя строками — и на 1022, и на 766, где
   места хватает на одну. На мобильных к этому добавлялся третий
   ряд: «Сортировка» не влезала рядом с «На странице» и уезжала вниз.

   Стало: до 701 px — одна строка (сводка слева, управление справа),
   ниже — ровно две: сводка и «Фильтры» сверху, два списка снизу.
   --------------------------------------------------------- */

@media (min-width: 701px) {
    #poisk-results > .poisk-results__toolbar {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 12px;
    }

    /* width: auto обязателен — у сводки в колоночной раскладке стоит
       нулевая ширина, и при flex-basis: auto она схлопывалась в 0,
       а «12 633 предложений» вылезало за свою ячейку. */
    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary {
        width: auto;
        min-width: auto;
        flex: 0 0 auto;
    }

    /* Та же ловушка, что у сводки: в колоночной раскладке у блока
       управления ширина 100 %, и при flex-basis: auto он занимал всю
       строку целиком — ряд вылезал за колонку на 122 px. */
    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-actions {
        display: flex;
        flex: 0 0 auto;
        flex-wrap: nowrap;
        gap: 8px;
        width: auto;
        min-width: 0;
        margin-left: auto;
    }
}

@media (max-width: 700px) {
    /* `display: contents` у блока управления нужен, чтобы кнопка
       «Фильтры» и два списка стали ячейками общей сетки тулбара:
       иначе кнопку не поднять в первую строку к сводке. */
    /* Колонки не пополам: «Сортировка: по релевантности» длиннее
       «На странице: 20», и при равных половинах список сортировки
       обрезался. Первая колонка — по содержимому, вторая забирает
       остаток. */
    #poisk-results > .poisk-results__toolbar {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 10px 12px;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary {
        grid-column: 1;
        grid-row: 1;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-actions {
        display: contents;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__filter-toggle {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap {
        grid-column: 1;
        grid-row: 2;
        width: auto;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap {
        grid-column: 2;
        grid-row: 2;
        width: auto;
        min-width: 0;
    }
}

/* Ниже 400 px даже второй колонки не хватает: «по релевантности»
   обрезалось в списке. Снимаем подпись «Сортировка:» — сам вариант
   в списке себя называет. У «На странице:» подпись остаётся: «20»
   без неё не читается. */
@media (max-width: 400px) {
    #poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap > span {
        display: none;
    }
}


/* ---------------------------------------------------------
   CTA: строка согласия набиралась не тем кеглем.

   Ссылка «политикой обработки персональных данных» внутри
   согласия получала Tektur 16 (на главной — 12): на странице
   каталога её перехватывает легаси-CSS с боевого домена,
   который красит ссылки по тегу. Строка становилась 373 px
   вместо 279 и переносилась на вторую строку — из-за этого
   весь модуль был на 12,6 px выше, чем на главной.
   --------------------------------------------------------- */

#ziptehLeadModule .zl-consent-copy a,
#ziptehLeadModule .zl-consent-link,
#ziptehLeadModule .zl-consent-link * {
    font: inherit !important;
    letter-spacing: inherit !important;
}


/* ---------------------------------------------------------
   Телефон: карточка как в модуле «Товары по акции» на главной.

   Было: одна карточка в ряд во всю ширину (332 px), нулевые поля
   и кнопка «В корзину» на 240 px — растянутая почти во всю строку.
   Эталон с главной на 360 px: карточка 160 px, поля 7 px, ряд
   покупки 142 px = степпер 82 + зазор 6 + кнопка 54×42 значком.

   Ставим две карточки в ряд и возвращаем кнопке размер эталона;
   остальные размеры внутри карточки уже совпадают с главной.
   --------------------------------------------------------- */

@media (max-width: 479px) {
    .poisk-results .zt-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    /* Поля карточки — те же, что на главной: 7 px на 360, 8 px на 414. */
    .poisk-results .zt-catalog-grid .zt-product-card {
        padding: 7px;
    }

    .poisk-results .zt-catalog-grid .zt-product-card__purchase {
        gap: 6px;
    }

    /* Ширину кнопке не задаём: на главной она `width: 100%` внутри
       флекс-ряда и забирает остаток после степпера — 54 px на 360
       и 79 px на 414. Жёсткие 54 px, поставленные было под снимок
       360 px, на 414 давали кнопку уже эталона. */

    /* Отступ «название → цена». На главной он берётся из
       `margin-top: auto` у блока цен: карточки лежат в карусели,
       где все слайды растянуты по самому высокому, и остаток
       высоты уходит в этот автоотступ — на 414 px получается 9,8 px.
       В сетке каталога свободной высоты нет, `auto` схлопывается
       в 0, и цена прилипала к названию. Задаём отступ явно, чтобы
       он не зависел от того, сколько места осталось в карточке. */
    .poisk-results .zt-catalog-grid .zt-product-card__prices {
        margin-top: 10px !important;
    }

    /* N-743: на телефоне «Уточняйте цену» прижимается к ЛЕВОМУ краю.
       Настоящая цена по-прежнему справа — как на главной; правка
       касается только варианта без цены, где длинная надпись
       у правого края отрывалась от названия над ней.
       Строка центровалась автополями флекс-элемента, поэтому
       выравниваем именно полями. */
    .poisk-results .zt-catalog-grid .zt-product-card__prices .zt-product-card__price--request {
        margin-right: auto !important;
        margin-left: 0 !important;
        text-align: left !important;
    }
}

@media (min-width: 400px) and (max-width: 479px) {
    .poisk-results .zt-catalog-grid .zt-product-card {
        padding: 8px;
    }
}


/* ---------------------------------------------------------
   «В корзину» — одной строкой.

   Подпись переносилась на вторую строку: при 14 px она занимает
   72,7 px, а кнопке доставалось меньше. Считаем, сколько ей нужно:
   значок 18 + зазор + подпись 72,7 + боковые поля кнопки.
   При прежних 16 px полей и зазоре 10 требовалось 132,7 px.

   Поджимаем поля до 10, зазор до 7 и степпер до 72 px — требуется
   117,7 px. На 1280 кнопке достаётся 121,5, на 1600 — 132,4,
   на 1920 и так хватало. Запрет переноса добавлен, чтобы подпись
   не ломалась на пробеле, когда не хватает пары пикселей.

   ⚠️ На 1440 px этого мало: там в ряду пять карточек по 209,6 px,
   кнопке остаётся 103,6 — меньше 117,7. Одной строкой подпись там
   помещается только если убрать одну колонку из ряда или спрятать
   значок; решение за заказчиком, поэтому 1440 пока как было.
   --------------------------------------------------------- */

@media (min-width: 1025px) {
    .poisk-results .zt-catalog-grid .zt-product-card__cart-label {
        white-space: nowrap;
    }

    .poisk-results .zt-catalog-grid .zt-product-card__cart {
        padding: 0 10px;
        gap: 7px;
    }

    .poisk-results .zt-catalog-grid .zt-product-card__stepper {
        flex: 0 0 72px;
        width: 72px;
        min-width: 72px;
    }
}


/* ---------------------------------------------------------
   «Под заказ» — не зелёным.

   В плитке каталога строка наличия рисовалась одним цветом
   для всех состояний: и «На складе 8 шт», и «Под заказ» были
   зелёными. Зелёный по смыслу значит «есть на складе», поэтому
   для товаров под заказ берём тот же красный, что в списочной
   выдаче (`.poisk-product__stock--empty`, #c83a3a).
   Модификатор ставит catalog-view.js.
   --------------------------------------------------------- */

.poisk-results .zt-catalog-grid .zt-product-card__avail--order {
    color: #c83a3a;
}

.poisk-results .zt-catalog-grid .zt-product-card__avail--order i {
    background: #c83a3a;
    border-color: #c83a3a;
}


/* ---------------------------------------------------------
   Анимация корзинки на кнопке «В корзину».

   Правило `animation: zt-cart-hop` в этом файле было (строка 1245),
   а самих кадров — нет: во всём файле ноль `@keyframes`. Генератор,
   который собрал catalog-grid.css из sale-products.css, переписал
   селекторы, но at-правила не перенёс. Браузер молча игнорирует
   ссылку на несуществующую анимацию, поэтому на каталоге корзинка
   стояла на месте, а на главной прыгала.

   Кадры перенесены из `sale-products.css:936-941` без изменений —
   поведение кнопки совпадает с модулем «Товары по акции».
   --------------------------------------------------------- */

@keyframes zt-cart-hop {
    0% { transform: translate(0, 0); }
    40% { transform: translate(2px, -3px); }
    70% { transform: translate(4px, 0); }
    100% { transform: translate(0, 0); }
}


/* ---------------------------------------------------------
   Синяя рамка при нажатии.

   Это стандартное кольцо фокуса браузера: по клику мышью Chrome
   ставит фокус на кнопку, ссылку или поле и рисует вокруг них
   синюю обводку. Убираем её только для мыши и касания — через
   `:focus:not(:focus-visible)`. Для клавиатуры (`:focus-visible`)
   кольцо остаётся: без него страницу нельзя пройти табом, видя,
   где находишься. Заодно снят синий подсвет тапа на мобильных
   (`-webkit-tap-highlight-color`).
   --------------------------------------------------------- */

#poisk-results,
#poisk-results-filters,
#ziptehLeadModule {
    -webkit-tap-highlight-color: transparent;
}

#poisk-results :focus:not(:focus-visible),
#poisk-results-filters :focus:not(:focus-visible),
#ziptehLeadModule :focus:not(:focus-visible) {
    outline: none;
}

/* У `<select>` кольцо не снимается прошлым правилом: Chrome считает
   его клавиатурным элементом и держит `:focus-visible` даже при клике
   мышью. Синюю рамку браузера убираем совсем, а то, что список открыт,
   показываем фирменной жёлтой рамкой самого поля. */
#poisk-results > .poisk-results__toolbar .poisk-results__page-size:focus,
#poisk-results > .poisk-results__toolbar .poisk-results__page-size:focus-visible,
#poisk-results > .poisk-results__toolbar .poisk-results__sort:focus,
#poisk-results > .poisk-results__toolbar .poisk-results__sort:focus-visible {
    outline: none !important;
    border-color: #ffb800 !important;
    box-shadow: none !important;
}

/* Остальным элементам каталога кольцо оставляем — без него не пройти
   страницу с клавиатуры, — но перекрашиваем из браузерного синего
   в фирменный жёлтый. */
#poisk-results :focus-visible,
#poisk-results-filters :focus-visible,
#ziptehLeadModule :focus-visible {
    outline: 2px solid #ffb800;
    outline-offset: 2px;
}


/* ---------------------------------------------------------
   Пагинация ниже 1025 px: ряд распирало на 196 px.

   Общий файл доступности `zt-home-unify.css:2113-2118`
   (@media max-width: 1024px) добавляет каждой кнопке и каждому
   номеру по 14 px полей с обеих сторон — приём для мелких
   битриксовых цифр 17×16, чтобы зоны нажатия не слипались.
   У нас кнопки уже 42×42 и разведены `gap`, поэтому поля шли
   в чистый убыток: семь кнопок × 28 px = **196 px** лишней
   ширины. Список номеров раздувался с 333 до 529 px, ряд
   переставал помещаться и переносился в две строки на 1024,
   768 и 640, а на 640 «Предыдущая» и «Следующая» оказывались
   на разных строках. Плюс сами поля сдвигали «Предыдущая»
   на 14 px от левого края плитки.

   Общий файл не трогаем — гасим поля только у пагинации
   каталога, а разделение зон нажатия оставляем на `gap`:
   42 px кнопка + 8 px промежуток = 50 px шаг, больше
   требуемых 44 px. Невидимая зона 44×44 на `::after`,
   которую ставит тот же общий файл, остаётся на месте.
   --------------------------------------------------------- */

/* На узких экранах семь номеров по 42 px в строку не влезают:
   на 414 px списку достаётся 282 px, а ряду нужно 342. Часть
   кнопок уезжала за край и обрезалась на половине. Уменьшаем
   шаг: кнопка 36 px, промежуток 4 — ряд укладывается в 276 px
   и помещается целиком. Зона нажатия не страдает: невидимый
   квадрат 44×44 на `::after` из общего файла остаётся.
   На 360 px даже так остаётся прокрутка — там 7 номеров
   в строку не помещаются ни при каком разумном шаге. */
@media (max-width: 479px) {
    #poisk-results .main-ui-pagination-page,
    .poisk-results .main-ui-pagination-page {
        min-width: 36px;
        width: 36px;
        height: 36px;
        padding: 0;
    }

    /* Стрелки тоже 36 — иначе списку не хватает ровно тех 12 px,
       которых недостаёт до полного ряда на 414 px. */
    #poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-arrow {
        width: 36px;
        min-width: 36px;
        max-width: 36px;
        height: 36px;
    }

    /* Селектор с id — ниже по файлу блок ≤1024 ставит промежуток 8 px
       правилом из двух классов, и без id он бы перебил этот. */
    #poisk-results .main-ui-pagination-pages-list {
        gap: 4px;
    }
}

/* До 400 px даже шаг 36 не спасает: списку остаётся 244 px, а семи
   кнопкам нужно 276 — ряд прокручивался, активная «1» обрезалась
   слева, «632» справа. Ужимаем номера до 30 px, стрелки до 32:
   ряду хватает 234 px из 252 доступных, прокрутка не нужна,
   ничего не режется. Зона нажатия по-прежнему 44×44 —
   её держит невидимый `::after` из общего файла. */
@media (max-width: 400px) {
    #poisk-results .main-ui-pagination-page,
    .poisk-results .main-ui-pagination-page {
        min-width: 30px;
        width: 30px;
        height: 30px;
    }

    #poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-arrow {
        width: 32px;
        min-width: 32px;
        max-width: 32px;
        height: 32px;
    }

    #poisk-results .main-ui-pagination-pages-list {
        gap: 3px;
        justify-content: space-between;
    }
}

/* Стрелка — строго по центру своей кнопки.

   Пока подпись возвращалась 13-м кеглем (см. выше), глиф стоял
   не по центру: рядом с ним в потоке лежал текст «Предыдущая».
   Теперь текста нет, но центрирование закрепляем явно — кнопка
   становится flex-боксом с выравниванием по обеим осям, а у глифа
   обнуляются поля и межстрочный интервал. Правило действует там,
   где кнопка показана значком: до 1180 px. Выше подпись есть,
   и там у глифа свои отступы от текста — их не трогаем. */
@media (max-width: 1180px) {
    #poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        line-height: 1;
    }

    #poisk-results .main-ui-pagination-arrow::before,
    .poisk-results .main-ui-pagination-arrow::before {
        display: block;
        margin: 0;
        line-height: 1;
        text-align: center;
    }
}

@media (max-width: 1024px) {
    #poisk-results .main-ui-pagination-page,
    #poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-page,
    .poisk-results .main-ui-pagination-arrow {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .poisk-results .main-ui-pagination-pages-list {
        gap: 8px;
    }

    .poisk-results .main-ui-pagination {
        gap: 10px;
    }
}


/* ---------------------------------------------------------
   N-742: счётчик над плашкой и на планшете.

   На 358 px счётчик уже вынесен за «шейп» (N-739). Заказчик
   попросил то же на 766. Полосу управления при этом трогать
   нельзя: по N-724 на 766 она должна идти одной строкой.

   Поэтому здесь только переносим счётчик наверх и снимаем
   карточку с тулбара, отдавая её блоку управления, — а сам
   блок остаётся однострочным. Диапазон 701…980 px: ниже 701
   работает двухрядная мобильная раскладка (N-741), выше 980
   кнопки «Фильтры» нет и тулбар остаётся десктопным.
   --------------------------------------------------------- */

@media (min-width: 701px) and (max-width: 980px) {
    #poisk-results > .poisk-results__toolbar {
        display: block;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary {
        display: block;
        width: auto;
        margin: 0 0 10px;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-actions {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        width: auto;
        margin-left: 0;
        padding: 12px;
        border: 1px solid #dfe3e8;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(37, 49, 66, .055);
    }
}


/* ---------------------------------------------------------
   Тулбар не прилипает.

   В `poisk-results.css` он объявлен `position: sticky` с
   `top: var(--poisk-toolbar-sticky-top)` и `z-index: 80` — при
   прокрутке полоса со счётчиком, сортировкой и фильтрами
   зависала под шапкой. По указанию заказчика прилипание снято
   на всех ширинах: полоса едет вместе со страницей.
   --------------------------------------------------------- */

#poisk-results > .poisk-results__toolbar,
.poisk-results .poisk-results__toolbar {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
}


/* ---------------------------------------------------------
   N-739…N-741: мобильный тулбар пересобран.

   Просили: счётчик «12 633 предложений» вынести за пределы
   плашки и поднять над ней; сортировку поставить слева,
   «На странице» справа; кнопку «Фильтры» сделать во всю ширину
   и увести под эти два списка.

   Разметку не трогаем — счётчик остаётся внутри `.poisk-results__toolbar`.
   Вместо переноса узла снимаем «шейп» с самого тулбара (фон, рамку,
   тень, поля) и отдаём его блоку управления `.toolbar-actions`.
   Счётчик оказывается над карточкой и вне её — ровно то, что нужно,
   и без вмешательства в DOM.

   Этот блок идёт ниже прежней мобильной раскладки тулбара
   и перекрывает её целиком.
   --------------------------------------------------------- */

@media (max-width: 700px) {
    /* !important — «шейп» тулбару задан правилом
       `.zip-catalog-page .poisk-results__toolbar` с !important
       (poisk-results.css:2789), без приоритета фон и рамка остаются
       и получается карточка в карточке. */
    #poisk-results > .poisk-results__toolbar {
        display: block;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-summary {
        display: block;
        width: auto;
        margin: 0 0 10px;
    }

    /* Плашка теперь тут: списки и кнопка. */
    #poisk-results > .poisk-results__toolbar .poisk-results__toolbar-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 10px 12px;
        padding: 12px;
        border: 1px solid #dfe3e8;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(37, 49, 66, .055);
    }

    /* Сортировка слева, «На странице» справа. */
    #poisk-results > .poisk-results__toolbar .poisk-results__sort-wrap {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        min-width: 0;
    }

    #poisk-results > .poisk-results__toolbar .poisk-results__page-size-wrap {
        grid-column: 2;
        grid-row: 2 / 2;
        grid-row-start: 1;
        justify-self: end;
        width: auto;
    }

    /* «Фильтры» — во всю ширину плашки, отдельной строкой снизу. */
    #poisk-results > .poisk-results__toolbar .poisk-results__filter-toggle {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: stretch;
        width: 100%;
    }
}


/* N-719: обводка ряда пагинации снята на всех ширинах. */
.poisk-results .main-ui-pagination {
    padding-right: 0;
    padding-left: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}


/* N-722: значок-воронка перед словом «Фильтры» снят. */
.poisk-results .poisk-filters__title::before {
    display: none;
}


/* N-721: «Показано N из M» набирается той же гарнитурой, что подписи
   переключателей «На складе» и «Под заказ» — Manrope 12/600.
   Прежние значения (Tektur 12/750 по N-713) отменены. */
#poisk-results .poisk-filters__result-count,
#poisk-results .poisk-filters__result-count span {
    color: #253142;
    font-family: var(--zt-font-btn, "Manrope", Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}


/* Родные шевроны Битрикса — вон.

   `bitrix/css/main/grid/pagenavigation.css:28-84` рисует у кнопок
   направления по два бруска 2×7 px, ставит их `position: absolute`
   на `left/right: -10px` (снаружи кнопки) и разворачивает на ±45°,
   собирая «‹» и «›». У ссылок они синие #2067b0, у неактивной
   кнопки серые. Именно они висели сбоку от «Предыдущая» и
   «Следующая» и мешались с нашей стрелкой.

   Гасим не `content`, а саму рисовку: подложку, размеры, поворот
   и абсолютную привязку. Так правило доступности
   `zt-home-unify.css:2099-2109` (@media max-width:1024px), которое
   держит на ::after невидимую зону нажатия 44×44 через !important,
   продолжает работать — мы ему не мешаем. */
.poisk-results .main-ui-pagination-arrow::before,
.poisk-results .main-ui-pagination-arrow::after,
.poisk-results a.main-ui-pagination-arrow::before,
.poisk-results a.main-ui-pagination-arrow::after,
.poisk-results span.main-ui-pagination-arrow::before,
.poisk-results span.main-ui-pagination-arrow::after {
    position: static;
    width: auto;
    height: auto;
    background: none;
    transform: none;
}

/* От 1181 px кнопки направления — просто подписи «Предыдущая» и
   «Следующая», без стрелок, как было до правки N-714: заказчик
   посмотрел вариант со стрелками внутри кнопок и вернул прежний вид.

   Полоса 621…1180 px: подписи рядом с номерами и «Показать ещё»
   в строку не помещаются — ряд переносился так, что «Следующая»
   уезжала под номера. Здесь, как и ниже 900 px до всех правок,
   остаются только стрелки.

   Рисуем через ::before: ::after у этих кнопок занят общим
   правилом доступности `zt-home-unify.css` (@media max-width:1024px),
   которое расширяет зону нажатия до 44 px пустым псевдоэлементом.
   Общий файл не трогаем — просто не занимаем ::after. */
@media (min-width: 621px) and (max-width: 1180px) {
    /* font-size: 0 обязателен с !important: выше по этому файлу
       кнопкам пагинации задан `font-size: 13px !important` (он нужен,
       чтобы перебить легаси-CSS боевого домена). Без приоритета
       подпись возвращалась 13-м кеглем и вылезала за кнопку 42 px —
       «Предыдущая» и «Следующая» наезжали на номера страниц. */
    #poisk-results .main-ui-pagination-arrow,
    .poisk-results .main-ui-pagination-arrow {
        width: 42px;
        min-width: 42px;
        max-width: 42px;
        padding: 0;
        font-size: 0 !important;
        overflow: hidden;
    }

    .poisk-results .main-ui-pagination-prev::before {
        content: "←";
        margin: 0;
    }

    .poisk-results .main-ui-pagination-next::before {
        content: "→";
        margin: 0;
    }
}


/* ---------------------------------------------------------
   D. Строка товара: свойства читаются.

   Было: `198px minmax(0,1fr) minmax(380px,420px)`. Колонка
   «купить» фиксирована, весь дефицит ширины уходил в среднюю
   колонку с пятью свойствами `repeat(5, minmax(0,1fr))`:
   на 1440 одно свойство получало 69 px (42 обрезанных значения
   на странице), на 1280 — 39 px (65 обрезанных).

   Правка: колонка «купить» ужимается вместе со строкой,
   а свойства переносятся на второй ряд вместо сжатия.
   Высота содержимого перестаёт быть фиксированной 132 px.
   --------------------------------------------------------- */

@media (min-width: 981px) {
    .poisk-results .poisk-product__content {
        height: auto;
        min-height: 132px;
    }

    .poisk-results .poisk-product__info {
        height: auto;
        gap: 10px;
        justify-content: flex-start;
    }

    .poisk-results .poisk-product__properties {
        row-gap: 10px;
        align-items: start;
    }

    /* Внутренности колонки «купить» были на жёстких треках
       (`130px 180px` у ряда с корзиной, `197px 44px` у ряда с ценой).
       Пока колонка была фиксированные 420 px, это работало; после
       того как она стала сжимаемой, кнопка «В корзину» вылезала
       за край карточки на 30 px. Переводим на гибкие треки. */
    .poisk-results .poisk-product__cart-control {
        grid-template-columns: minmax(96px, 130px) minmax(0, 1fr) !important;
        column-gap: 12px !important;
    }

    .poisk-results .poisk-product__total-row {
        grid-template-columns: minmax(0, 1fr) 44px !important;
    }

    .poisk-results .poisk-product__actions,
    .poisk-results .poisk-product__cart-button {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* Широкий десктоп — пять свойств в один ряд, как было. */
@media (min-width: 1600px) {
    .poisk-results .poisk-product {
        grid-template-columns: 198px minmax(0, 1fr) clamp(300px, 22%, 400px) !important;
    }

    .poisk-results .poisk-product__properties {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* 1200…1599 — три свойства в ряд, два переносятся вниз. */
@media (min-width: 1200px) and (max-width: 1599px) {
    .poisk-results .poisk-product {
        grid-template-columns: 198px minmax(0, 1fr) clamp(280px, 22%, 360px) !important;
    }

    .poisk-results .poisk-product__properties {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 20px;
    }
}

/* 981…1199 — два свойства в ряд. */
@media (min-width: 981px) and (max-width: 1199px) {
    .poisk-results .poisk-product {
        grid-template-columns: 183px minmax(0, 1fr) clamp(240px, 24%, 320px) !important;
    }

    .poisk-results .poisk-product__properties {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 16px;
    }
}

/* Длинные значения («Цена за шт. с НДС» → «Уточняйте цену»)
   теперь переносятся, а не обрезаются многоточием. */
@media (min-width: 981px) {
    .poisk-results .poisk-product__property-value {
        overflow: visible;
        white-space: normal;
        text-overflow: clip;
    }

    .poisk-results .poisk-product__property-label {
        white-space: normal;
    }
}


/* ---------------------------------------------------------
   D1. N-711: заголовок каталога капсом, «для спецтехники» жёлтым.
   Капс делает CSS, span расставляет catalog-view.js.
   --------------------------------------------------------- */

#poisk-results .poisk-results__title {
    text-transform: uppercase;
}

/* font: inherit обязателен: правило уровня `#poisk-results *` с боевого
   домена ставит голому span'у Tektur 16, и «для спецтехники» рисовалось
   мелким шрифтом рядом с 46-м заголовком. */
#poisk-results .poisk-results__title-accent {
    color: #ffb800;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}


/* ---------------------------------------------------------
   D2. N-712: временно только плитка — переключатель видов
   не выводится (catalog-view.js), правило страхует случай,
   когда кнопки пришли из разметки боевого тулбара.
   --------------------------------------------------------- */

.zip-catalog-page .poisk-results__view {
    display: none !important;
}

/* Списочная разметка гасится с первой отрисовки.

   Компонент отдаёт список готовым и с классами
   `view-lines poisk-force-list`, а плитку собирает
   catalog-view.js на DOMContentLoaded. На странице в 674 КБ
   это успевало показаться: сначала товары строками, через
   мгновение — карточками. Пока список ждал своей очереди,
   его держало правило `... .poisk-results__list > .items
   { display: block !important }` весом 0-3-0, поэтому
   селектор здесь на класс длиннее.

   Разметку списка не убираем: catalog-view.js берёт из неё
   данные товаров (data-article, data-title, data-price…)
   и фотографии из конфигурации JCCatalogItem. Она остаётся
   в DOM, просто не рисуется. */
.zip-catalog-page #poisk-results .catalog-section .poisk-results__list > .items,
.zip-catalog-page #poisk-results .catalog-section .poisk-results__list > .items-header,
.zip-catalog-page #poisk-results .catalog-section .poisk-force-list > .items,
.zip-catalog-page #poisk-results .catalog-section .poisk-force-list > .items-header {
    display: none !important;
}

/* Почему в селекторе идентификатор, а не только классы.
   Правило poisk-results.css:2729 держит список показанным:

     .poisk-results .catalog-section
     .cards.view-lines.poisk-force-list > .items { display: block !important }

   вес 0-6-0 с !important. Прежняя редакция правила выше весила 0-5-0
   и проигрывала — на бою список успевал отрисоваться таблицей, и лишь
   потом скрипт заменял его плиткой. На стенде это не бросалось в глаза:
   страница отдаётся с локального сервера, окно между отрисовкой и
   DOMContentLoaded — доли мгновения. Идентификатор #poisk-results
   поднимает вес до 1-4-0, а идентификатор перевешивает любое число
   классов. Проверено на боевой странице: при исходных классах сервера
   `cards view-lines poisk-force-list` вычисленный display у .items
   был `block`, с этим правилом — `none`, даже если поставить его
   первым стилем в head. */

/* Место под плитку резервируется, пока её не построил скрипт, —
   иначе на долю секунды подвал подскакивает вверх и страница
   дёргается. Как только плитка появилась, ограничение снимается. */
.zip-catalog-page .poisk-results__list:not(:has(.zt-catalog-grid)) {
    min-height: 60vh;
}


/* ---------------------------------------------------------
   D3. Мёртвая кнопка «Фильтры» в полосе 981…1024 px.

   Ящик фильтров включается с 980 px (poisk-results.css:2050),
   а кнопку показывает общий файл доступности с 1024 px и
   с !important (zt-home-unify.css:2086, 2119-2126). В зазоре
   шириной 44 px кнопка стояла рядом с уже видимой боковой
   панелью и по нажатию ничего не показывала. Общий файл не
   трогаем — гасим кнопку только на каталоге.
   --------------------------------------------------------- */

@media (min-width: 1025px) {
    .poisk-results .poisk-results__filter-toggle {
        display: none !important;
    }
}


/* ---------------------------------------------------------
   E. Стрелки — фирменные жёлтые вместо синих.

   Синими были: шевроны выпадающих списков тулбара
   («На странице», «Сортировка») — #69809a; шевроны групп
   фильтров — #253142; значок сброса фильтров ↻ — #3b73a7.
   Стрелки пагинации ←/→ были тёмно-серыми.
   --------------------------------------------------------- */

/* Шевроны селектов тулбара перекрашены на месте, в правиле выше
   по этому файлу (строка 209): у него селектор с id и !important,
   и правило из двух классов ему проигрывает. */

.poisk-results .poisk-filters__group-title svg,
.poisk-results .poisk-filters__group-title svg path,
.poisk-results .poisk-filters__accordion svg,
.poisk-results .poisk-filters__accordion svg path {
    color: #ffb800 !important;
    stroke: #ffb800 !important;
}

.poisk-results .main-ui-pagination-arrow::before {
    color: #ffb800;
}

.poisk-results .poisk-filters__reset::before {
    color: #ffb800;
}


/* ---------------------------------------------------------
   Фильтры кнопкой-ящиком и на 1024.

   `poisk-results.css` переводит панель в выдвижной ящик
   с 980 px. Заказчик попросил тот же режим на 1024, поэтому
   диапазон 981…1024 повторяет те же правила: колонка фильтров
   уходит из потока, список товаров занимает всю ширину,
   появляется кнопка «Фильтры», подложка и запрет прокрутки
   страницы при открытом ящике.

   Общий `poisk-results.css` не трогаем — он подключён и к карточке
   товара; правила продублированы здесь, в файле каталога.
   --------------------------------------------------------- */

@media (min-width: 981px) and (max-width: 1024px) {
    .poisk-results .poisk-results__filter-toggle {
        display: inline-flex;
    }

    .poisk-results .poisk-results__catalog,
    #poisk-results-catalog {
        display: block;
    }

    .poisk-results .poisk-filters {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        z-index: 1000001;
        width: min(355px, calc(100vw - 36px));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        border-radius: 0 16px 16px 0;
        transform: translateX(-105%);
        transition: transform .24s ease;
    }

    .poisk-results .poisk-filters.is-open {
        transform: translateX(0);
    }

    .poisk-results .poisk-filters__close,
    .poisk-results .poisk-filters__apply {
        display: flex;
    }

    .poisk-results .poisk-filters__backdrop:not([hidden]) {
        position: fixed;
        inset: 0;
        z-index: 1000000;
        display: block;
        border: 0;
        background: rgba(17, 24, 32, .45);
        backdrop-filter: blur(2px);
    }

    body.poisk-filters-open {
        overflow: hidden;
    }
}


/* =========================================================
   Поиск запчастей — /search/. Выдача оформлена тем же
   комплектом, что раздел каталога (позиция реестра R-152).
   Правила живут в этом файле-хвосте, а не дописываются
   в готовый catalog-grid.css: тот пересобирается скриптом
   Редизайн/Инструменты/generate-catalog-grid-css.py,
   и дописанное руками при следующей сборке пропадает —
   07.09.2026 так и вышло.
   ========================================================= */

/* Снятие «во всю ширину окна» у выдачи поиска. Правило
   `.zt-search-catalog.poisk-results { margin-left: calc(50% - 50vw)
   !important }` (components/bitrix/catalog.search/search/style.css:798)
   весит 0-2-0 и перебивает `margin: 0` из html body .zip-catalog-page
   (0-1-2). Ширину блок уже сажает на 100%, поэтому колонка съезжала
   влево и справа теряла 28 px: на 414 px заканчивалась на 372
   вместо 400 и не совпадала с крошками. Вес здесь 0-3-2. */
html body .zip-catalog-page.zt-search-catalog.poisk-results {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Боковые поля шелла. Он центрирует содержимое и добавляет отступы
   шириной --zt-site-shell-gutter (search/style.css:235-243). Пока
   секция шла во всю ширину окна, эти поля и держали колонку. Теперь
   секция внутри .container, у которого поля уже есть, и поля шелла
   стали вторыми: на 414 px плитка начиналась с 28 px вместо 14. */
html body .zip-catalog-page.zt-search-catalog > .zt-search-catalog__shell {
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Колонка фильтров как в каталоге. poisk-results.css:2874-2893 даёт
   поиску 330 px от 1491 px и 300 px на 981-1490 с !important — судя
   по соседним правилам того же блока (grid-template-columns у
   .poisk-product), ширина подбиралась под строчную раскладку. С плиткой
   не нужна: на 1920 px колонка каталога 255 px, поиска была 330.
   Вес чужого правила 0-3-0, здесь 1-1-0. */
@media (min-width: 981px) {
    #poisk-results .poisk-results__catalog {
        grid-template-columns: 255px minmax(0, 1fr) !important;
        gap: 18px !important;
    }
}

/* Вертикальные отступы. Замер до правки на 1280 px: от шапки до крошек
   26 px вместо 32, от крошек до H1 — 0 вместо 24, между кнопками
   страниц и CTA 166 px вместо 16. Последнее складывалось из 34 px
   собственного нижнего паддинга секции (search/style.css:1-5 и :231),
   52 px нижнего паддинга области контента и 80 px верхнего отступа CTA.
   Как в каталоге: просвет до CTA задаёт один отступ снизу у выдачи. */
html body .content-area.zt-page-content-area--search {
    padding-top: 32px !important;
    padding-bottom: 0 !important;
}

html body .zt-page-content-area--search .zt-breadcrumbs,
html body .zt-page-content-area--search .breadcrumbs {
    margin-bottom: 0 !important;
}

/* На поиске H1 лежит вне блока выдачи, между ним и крошками ничего нет.
   В каталоге те же 24 px даёт margin-top самого блока. */
html body .zt-page-content-area--search .zt-page-heading {
    margin-top: 24px !important;
}

html body .zip-catalog-page.zt-search-catalog.poisk-results {
    padding-bottom: 0 !important;
    margin-bottom: 16px !important;
}

body:has(.zt-page-content-area--search) #ziptehLeadModule {
    margin-top: 0 !important;
}

@media (max-width: 680px) {
    html body .content-area.zt-page-content-area--search {
        padding-top: 20px !important;
    }

    html body .zip-catalog-page.zt-search-catalog.poisk-results {
        margin-bottom: 20px !important;
    }

    html body .zt-page-content-area--search .zt-page-heading {
        margin-top: 18px !important;
    }
}


/* ---------------------------------------------------------
   Поиск: крестик очистки поля — как в строке поиска шапки.

   В шапке поле объявлено как input[type="search"], крестик рисует
   сам браузер, а zt-home-unify.css:3649-3657 гасит нативный вид
   и перекрашивает его маской: квадрат 14x14, фирменный жёлтый,
   без подложки и рамки. На странице поиска крестик свой —
   кнопка .zt-advanced-search__clear, и выглядела она иначе:
   кружок 34x34 с бледно-жёлтой заливкой, рамкой и тёмно-жёлтым
   значком (search-advanced.css:159-181).

   Приводим к виду шапки той же маской и тем же цветом. Вес 1-1-0
   против 0-1-0 у исходных правил. Поле теряет запас справа под
   кружок: 56 px были рассчитаны на него, для крестика хватает 38.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__single input {
    padding-right: 38px;
}

#poisk-results .zt-advanced-search__clear {
    right: 16px;
    width: 14px;
    height: 14px;
    color: transparent;
    background: none;
    border: 0;
    border-radius: 0;
}

#poisk-results .zt-advanced-search__clear svg {
    display: none;
}

#poisk-results .zt-advanced-search__clear::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background-color: var(--zt-header-accent, #ffb800);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6 18 18M18 6 6 18' stroke='%23000' stroke-width='2.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6 18 18M18 6 6 18' stroke='%23000' stroke-width='2.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat;
}

#poisk-results .zt-advanced-search__clear:hover::before,
#poisk-results .zt-advanced-search__clear:focus-visible::before {
    background-color: var(--zt-brand-hover, var(--zt-header-accent, #ffb800));
}


/* ---------------------------------------------------------
   Поиск: обводка фокуса только фирменная.

   В блоке расширенного поиска своя обводка — тёмно-синяя
   `outline: 2px solid #1d2733` (search-advanced.css:476-484),
   и она же остаётся у полей, вкладок и кнопки загрузки файла.
   Каталожное правило `#poisk-results :focus-visible` её
   перекрывает не везде: у части элементов обводку ставит браузер
   по умолчанию, а часть перебивается собственными правилами
   панели. Здесь: по мыши и касанию кольца нет совсем, с клавиатуры
   остаётся фирменное жёлтое — как в каталоге.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search :focus:not(:focus-visible),
#poisk-results .zt-advanced-search__batch-tools :focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none;
}

#poisk-results .zt-advanced-search__tab:focus-visible,
#poisk-results .zt-advanced-search__submit:focus-visible,
#poisk-results .zt-advanced-search__clear:focus-visible,
#poisk-results .zt-advanced-search__dropzone:focus-visible,
#poisk-results .zt-advanced-search__dropzone button:focus-visible,
#poisk-results .zt-advanced-search__examples button:focus-visible,
#poisk-results .zt-advanced-search input:focus-visible,
#poisk-results .zt-advanced-search textarea:focus-visible {
    outline: 2px solid #ffb800 !important;
    outline-offset: 2px;
}


/* ---------------------------------------------------------
   Поле поиска — обводка как в строке поиска шапки.

   В шапке поле: рамка 1px #dfe3e8, скругление 8 px, при фокусе
   рамка фирменная жёлтая и подсвет 0 0 0 3px rgba(255,184,0,.22)
   (header-new.css:.zt-search input и zt-home-unify.css у
   .zt-header .zt-search input:focus). На странице поиска было
   1.5px #cfd6dd, скругление 10 px и подсвет .15 —
   search-advanced.css:116-145. Приводим к шапке. Вес 1-1-0. */

#poisk-results .zt-advanced-search__single input,
#poisk-results .zt-advanced-search__batch textarea {
    border: 1px solid #dfe3e8;
    border-radius: 8px;
}

#poisk-results .zt-advanced-search__single input:focus,
#poisk-results .zt-advanced-search__batch textarea:focus {
    border-color: var(--zt-header-accent, #ffb800);
    box-shadow: 0 0 0 3px rgba(255, 184, 0, .22);
}


/* ---------------------------------------------------------
   Синее кольцо фокуса: почему прежнее правило его не убирало.

   В zt-home-unify.css лежит общесайтовое правило доступности

     :where(a, button, input, select, textarea, summary, [tabindex])
     :focus-visible { outline: rgb(26,111,212) solid 3px !important }

   Селектор внутри :where() веса не даёт, но !important есть,
   а у нашего жёлтого кольца его не было — синее и побеждало
   и в каталоге, и на поиске. Повторяем правило с !important. */

#poisk-results :focus-visible,
#poisk-results-filters :focus-visible,
#ziptehLeadModule :focus-visible {
    outline: 2px solid #ffb800 !important;
    outline-offset: 2px;
}


/* ---------------------------------------------------------
   Фотография в карточке заполняет кадр, как на главной.

   На главной картинку тянет правило
   `#ztSaleProducts .zt-product-card__image img { width:100%;
   height:100% }` (sale-products.css) — оно весит 1-1-0 и
   перебивает общее `.zt-product-card__image img { height:auto;
   aspect-ratio:4/3 }` из zt-home-unify.css (0-1-0).

   При переносе стилей в плитку каталога идентификатор
   #ztSaleProducts заменяется на `.poisk-results .zt-catalog-grid`,
   и оба правила становятся одного веса — выигрывает то, что идёт
   в файле позже, а это как раз вариант с 4/3. Кадр у карточки
   1.18/1, картинка 4/3 — на 1440 px она выходила 208x156 при
   кадре 208x176, то есть на 20 px ниже, и снизу оставалась
   белая полоса. На главной в том же месте 239x203 — впритык.

   Возвращаем поведение главной. Ниже 681 px не трогаем: там
   и на главной, и в плитке картинка ограничена 118x94 с
   object-fit: contain — замер совпадает.
   --------------------------------------------------------- */

@media (min-width: 681px) {
    .poisk-results .zt-catalog-grid .zt-product-card__image img {
        height: 100%;
        aspect-ratio: auto;
    }
}


/* ---------------------------------------------------------
   Кнопки блока поиска — по образцу кнопок шапки.

   Эталон — «КАТАЛОГ» (.zt-catalog-button): Tektur 15/700 капсом
   с трекингом 0,16 px, скругление 8 px, фон и рамка #ffb800,
   подпись #1a1a1a. Кнопки поиска набирались Manrope 16/700
   обычным регистром (search-advanced.css).

   Гарнитуру приходится ставить с !important и хаком
   `:not(#zt_):not(#zt_)`: подписи кнопок держит правило
   zt-redesign.css:1704, которое само пользуется этим приёмом,
   и обычным селектором его не перебить. Тот же приём уже
   применён к кнопке CTA главной (позиция R-143).

   Стрелка внутри «Найти запчасть» снята — у кнопок шапки
   стрелок нет.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__submit:not(#zt_):not(#zt_),
#poisk-results .zt-advanced-search__dropzone button:not(#zt_):not(#zt_) {
    font-family: var(--zt-font, "Tektur", "Inter", "PT Sans Caption", system-ui, Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .16px;
    border-radius: 8px;
}

#poisk-results .zt-advanced-search__submit {
    gap: 10px;
    background: var(--zt-header-accent, #ffb800);
    border: 1px solid var(--zt-header-accent, #ffb800);
    color: #1a1a1a;
}

#poisk-results .zt-advanced-search__submit svg {
    display: none;
}


/* ---------------------------------------------------------
   Одна жёлтая обводка вместо двух.

   У поля поиска при фокусе своя индикация — жёлтая рамка плюс
   подсвет, как в шапке. Сверху ложилось общее кольцо
   `#poisk-results :focus-visible { outline: 2px solid #ffb800 }`,
   и жёлтых контуров получалось два. В шапке этот случай решён
   так же: zt-home-unify.css гасит `outline` у поля поиска
   (`.zt-header .zt-search input:focus { outline: none !important }`)
   и оставляет рамку с подсветом. Повторяем.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__single input:focus,
#poisk-results .zt-advanced-search__single input:focus-visible,
#poisk-results .zt-advanced-search__batch textarea:focus,
#poisk-results .zt-advanced-search__batch textarea:focus-visible {
    outline: none !important;
}


/* ---------------------------------------------------------
   Заголовок страницы поиска: по левому краю шапки и капсом.

   У .zt-page-heading--content свои боковые поля 20 px, и текст
   заголовка начинался с 40 px, тогда как крошки, модуль поиска
   и плитка — с 20. Снимаем поля: рамку страницы держит .container,
   второй отступ здесь лишний. Капс — как у заголовка каталога
   («КАТАЛОГ ЗАПЧАСТЕЙ ДЛЯ СПЕЦТЕХНИКИ»), в данных текст остаётся
   обычным регистром (правило П-4 шрифтовой системы).
   --------------------------------------------------------- */

html body .zt-page-content-area--search .zt-page-heading {
    padding-right: 0 !important;
    padding-left: 0 !important;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   Подпись кнопки поиска не переносится.

   Колонка кнопки в форме была жёстко 240 px, а подписи разной
   длины: «НАЙТИ ЗАПЧАСТЬ», «НАЙТИ ПО НАЗВАНИЮ», «НАЙТИ
   ПО ПРОИЗВОДИТЕЛЮ». Длинные вставали в две строки. Отдаём
   колонке ширину по содержимому, 240 px оставляем минимумом.
   Ниже 981 px раскладку формы задают свои медиазапросы
   search-advanced.css — их не трогаем.
   --------------------------------------------------------- */

@media (min-width: 981px) {
    #poisk-results .zt-advanced-search__form {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    #poisk-results .zt-advanced-search__submit {
        width: auto;
        min-width: 240px;
        white-space: nowrap;
    }
}


/* ---------------------------------------------------------
   Почему верхняя рамка модуля выглядела обрезанной.

   Заголовок набран кеглем 38 px с относительным интерлиньяжем,
   и высота строки выходила дробной — 42,546875 px. Дробь
   протаскивалась дальше по потоку: верх модуля поиска оказывался
   на отметке 277,55, и рамка в один пиксель ложилась между
   двумя физическими строками экрана. Браузер размазывал её
   в полутон, и сверху линия читалась как оборванная, тогда как
   боковые — на целых координатах — рисовались чётко.

   Ставим заголовку целую высоту строки: верх модуля встаёт
   на 279, рамка попадает в пиксель. Заодно прописные буквы
   Russo One перестают выходить за строку — до правки текст
   вылезал вверх на 2 px.
   --------------------------------------------------------- */

html body .zt-page-content-area--search .zt-page-heading {
    line-height: 44px;
}


/* ---------------------------------------------------------
   Подпись кнопки поиска — по центру.

   У кнопки `justify-content: space-between`: так подпись
   и стрелка расходились по краям. Стрелку сняли, подпись
   осталась единственным элементом и прижалась влево —
   на 1440 px её центр стоял на 32 px левее центра кнопки.
   У кнопок шапки подпись по центру.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__submit {
    justify-content: center;
}


/* Второй источник дробной высоты — сами крошки: их кегль задан
   от ширины окна, и на 768 px строка выходит 12,71875 px. Дробь
   доезжала до модуля, и его верх снова вставал на 238,72. Минимум
   в 13 px округляет строку, не трогая её на других ширинах:
   там крошки и так ровно 13. Сдвиг раскладки — 0,28 px. */
html body .zt-page-content-area--search .zt-breadcrumbs {
    min-height: 13px;
}


/* ---------------------------------------------------------
   Вкладки поиска — той же гарнитурой, что кнопки.

   Было Manrope 16/400 обычным регистром. Ставим набор кнопок
   шапки: Tektur 15/700 капсом с трекингом 0,16 px. Гарнитура
   с !important и хаком `:not(#zt_):not(#zt_)` — подписи кнопок
   держит zt-redesign.css:1704, обычным селектором его не перебить.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__tab:not(#zt_):not(#zt_) {
    font-family: var(--zt-font, "Tektur", "Inter", "PT Sans Caption", system-ui, Arial, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .16px;
}


/* ---------------------------------------------------------
   Массовый поиск: поле загрузки файла — серая заливка.

   Было бледно-жёлтое #fffdf4, и блок читался как ещё одна
   акцентная плашка. Ставим тот же серый, что у полосы вкладок
   и тулбара, — #f7f8fa. Пунктирная рамка остаётся жёлтой:
   она показывает зону перетаскивания.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__dropzone {
    background: #f7f8fa;
}


/* ---------------------------------------------------------
   Счётчик артикулов — как метка «О компании «ЗИПТЕХ СЕРВИС»»
   на главной (.zt-company-map__eyebrow): Manrope 12/700 капсом,
   трекинг 0,96 px, жёлтый текст в жёлтой рамке, без заливки,
   скругление 8 px, поля 7/11. Было Tektur 16/800 тёмно-жёлтым
   по светло-жёлтой плашке.

   Селектор по data-атрибуту: у span'а нет класса, его ставит
   разметка компонента поиска.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__batch-bar [data-search-batch-count] {
    padding: 7px 11px;
    color: var(--zt-header-accent, #ffb800);
    background: transparent;
    border: 1px solid var(--zt-header-accent, #ffb800);
    border-radius: 8px;
    font-family: var(--zt-font-btn, "Manrope", "Inter", "PT Sans Caption", system-ui, Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .96px;
    text-transform: uppercase;
}


/* ---------------------------------------------------------
   Модуль поиска отпущен от заголовка: 18 → 23 px.

   Просьба заказчика — блок «слипался» с заголовком. Значение
   выбрано не круглым намеренно: при нём верх модуля встаёт
   на 284 px на 1440 и на 208 на 1280 — обе координаты кратны
   четырём, то есть при масштабе экрана 125 % верхняя грань
   рамки попадает ровно в физическую строку и рисуется так же
   чётко, как боковые. На 768 px выходит 234 — чётное,
   что закрывает масштаб 150 %.

   `!important` нужен: нижний отступ заголовка задан правилом
   с приоритетом, обычный селектор его не перебивает.
   --------------------------------------------------------- */

html body .zt-page-content-area--search .zt-page-heading {
    margin-bottom: 23px !important;
}


/* ---------------------------------------------------------
   Оформление модуля поиска: одна жёлтая линия, одна роль.

   Разбор того, что было. Жёлтым отмечались сразу три разные
   вещи одинаково — рамкой в один пиксель: граница модуля,
   активная вкладка и поле в фокусе. Три вложенных жёлтых
   прямоугольника, между рамкой модуля и язычком вкладки ещё
   и серый зазор. Глазу не за что зацепиться: непонятно, что
   здесь граница блока, а что — состояние.

   Стало как в обычной вкладочной раскладке: рамка одна и она
   обводит тело модуля, а активная вкладка — язычок, приросший
   к этой же рамке сверху. Линия непрерывная, и жёлтый значит
   ровно одно — «вот граница того, с чем вы сейчас работаете».
   Неактивные вкладки — просто подписи на фоне страницы,
   без рамок и разделителей. Подсветка поля в фокусе остаётся:
   она временная и живёт только пока курсор в поле.

   Цвет линии var(--zt-header-accent, #ffb800) — тот же жёлтый на два шага глубже:
   #ffb800 в один пиксель теряется при размытии строки
   (масштаб дисплея), проверено подстановкой красного.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

#poisk-results .zt-advanced-search__tabs {
    padding: 0;
    background: transparent;
    border-bottom: 0;
}

#poisk-results .zt-advanced-search__tab {
    border-right: 0;
}

/* Язычок активной вкладки. Низа нет, `margin-bottom: -1px`
   перекрывает верхнюю линию тела — вкладка и тело читаются
   как одна фигура. */
#poisk-results .zt-advanced-search__tab.is-active::after {
    display: none;
}

#poisk-results .zt-advanced-search__tab.is-active {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    margin-bottom: -1px;
    background: #fff;
    border: 1px solid var(--zt-header-accent, #ffb800);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
}

#poisk-results .zt-advanced-search__body {
    position: relative;
    background: #fff;
    border: 1px solid var(--zt-header-accent, #ffb800);
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(25, 38, 52, .06);
}


/* Ниже 700 px вкладки встают в две строки (search-advanced.css:497-505),
   и язычок с открытым низом повисает над вторым рядом — метафора
   «приросшей вкладки» ломается. На этих ширинах активная вкладка
   отмечается замкнутой рамкой со скруглением по кругу. */

@media (max-width: 700px) {
    #poisk-results .zt-advanced-search__tabs {
        gap: 6px;
    }

    #poisk-results .zt-advanced-search__tab.is-active {
        margin-bottom: 0;
        border: 1px solid var(--zt-header-accent, #ffb800);
        border-radius: 10px;
    }
}


/* ---------------------------------------------------------
   Стык язычка и тела: убираем излом.

   Скругление язычка было 10 px против 14 у тела, а под язычком
   оставался скруглённый угол самого тела — левая грань язычка
   упиралась в дугу, и на стыке торчал заусенец. Делаем радиус
   язычка тем же, что у тела, а у тела гасим тот верхний угол,
   который язычок и так закрывает: первая вкладка активна —
   левый, последняя — правый. Линия идёт непрерывно, изломов нет.
   Ниже 700 px вкладки отдельные и тела не касаются, поэтому
   правила ограничены одним рядом.
   --------------------------------------------------------- */

@media (min-width: 701px) {
    #poisk-results .zt-advanced-search__tab.is-active {
        border-radius: 14px 14px 0 0;
    }

    #poisk-results .zt-advanced-search:has(.zt-advanced-search__tab:first-child.is-active) .zt-advanced-search__body {
        border-top-left-radius: 0;
    }

    #poisk-results .zt-advanced-search:has(.zt-advanced-search__tab:last-child.is-active) .zt-advanced-search__body {
        border-top-right-radius: 0;
    }
}


/* ---------------------------------------------------------
   Активная вкладка залита фирменным жёлтым.

   Правка заказчика: язычок не просто обведён, а закрашен —
   как кнопка «КАТАЛОГ» в шапке. Подпись и значок переводятся
   на тёмный #1a1a1a, тот же, что у жёлтых кнопок: на жёлтом
   серый текст вкладок не читается.
   --------------------------------------------------------- */

#poisk-results .zt-advanced-search__tab.is-active,
#poisk-results .zt-advanced-search__tab.is-active:hover {
    background: var(--zt-header-accent, #ffb800);
    border-color: var(--zt-header-accent, #ffb800);
    color: #1a1a1a;
}

#poisk-results .zt-advanced-search__tab.is-active svg {
    color: #1a1a1a;
    stroke: currentColor;
}


/* Заливка язычка не бралась ниже 700 px: правило перебивал кто-то
   из общих файлов, подключённых с боевого домена, — на стенде они
   кросс-доменные и через CSSOM не читаются. Повторяем с приоритетом
   и без переменной: значение фирменного жёлтого записано явно. */

#poisk-results .zt-advanced-search__tab.is-active,
#poisk-results .zt-advanced-search__tab.is-active:hover {
    background: #ffb800 !important;
    border-color: #ffb800 !important;
    color: #1a1a1a !important;
}

#poisk-results .zt-advanced-search__tab.is-active svg {
    color: #1a1a1a !important;
    stroke: currentColor !important;
}


/* ---------------------------------------------------------
   Фотография заполняет кадр на всех ширинах.

   Выше 681 px это уже сделано — возвращено поведение главной.
   Ниже картинка оставалась ограниченной 118x94 с object-fit:
   contain: так устроен модуль главной, и правило переехало
   в плитку вместе с остальными. По правке заказчика снимаем
   ограничение и на телефоне с планшетом — кадр карточки
   заполняется целиком, как на широких экранах.
   --------------------------------------------------------- */

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__image img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
    }
}


/* Вес добран проектным приёмом `:not(#zt_):not(#zt_)`. Заливку
   язычка ниже 700 px перебивало правило с !important из общих
   файлов, которые на стенде приходят с боевого домена и через
   CSSOM не читаются, — обычного !important не хватало, потому
   что чужой файл подключён позже. Тот же приём уже применён
   к гарнитуре кнопок (R-143) и вкладок. */

#poisk-results .zt-advanced-search__tab.is-active:not(#zt_):not(#zt_),
#poisk-results .zt-advanced-search__tab.is-active:not(#zt_):not(#zt_):hover {
    background: #ffb800 !important;
    border-color: #ffb800 !important;
    color: #1a1a1a !important;
}

#poisk-results .zt-advanced-search__tab.is-active:not(#zt_):not(#zt_) svg {
    color: #1a1a1a !important;
    stroke: currentColor !important;
}


/* Кадр карточки на телефоне и планшете: внутренние поля сняты,
   иначе картинка при width/height 100% заполняет не кадр,
   а его внутреннюю часть — на 390 px выходило 144x96 в кадре
   160x112. */

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__image {
        padding: 0 !important;
    }
}


/* ---------------------------------------------------------
   Подписи вкладок на мобильных мельче.

   Гарнитура кнопок шапки — Tektur 15/700 капсом — на телефоне
   не влезает в две колонки: «ПО ПРОИЗВОДИТЕЛЮ» и «МАССОВЫЙ
   ПОИСК» ломаются на две строки. Ниже 700 px кегль 12 px
   и трекинг убран.
   --------------------------------------------------------- */

@media (max-width: 700px) {
    #poisk-results .zt-advanced-search__tab:not(#zt_):not(#zt_) {
        font-size: 12px !important;
        letter-spacing: 0 !important;
    }
}


/* ---------------------------------------------------------
   09.09.2026, указание заказчика: «чтобы фотография
   растягивалась по всему шейпу, сейчас в мобильных есть
   отступы в фото».

   Кадр фотографию заполняет и так, поля были у самой карточки:
   ниже 681 px у неё padding 8 px (ниже 381 px — 7 px), и кадр
   стоял в этой рамке. На широких экранах поля нет — фото идёт
   от края до края, — здесь возвращаем то же поведение:
   кадр вытянут за внутренние поля карточки отрицательным
   margin. Поля тела карточки не трогаем, скругление даёт сама
   карточка (у неё overflow: hidden), поэтому у кадра его снимаем.
   --------------------------------------------------------- */

@media (max-width: 680px) {
    .poisk-results .zt-catalog-grid .zt-product-card__media {
        margin: -8px -8px 0 !important;
        width: calc(100% + 16px) !important;
        border-radius: 0 !important;
    }
}

@media (max-width: 380px) {
    .poisk-results .zt-catalog-grid .zt-product-card__media {
        margin: -7px -7px 0 !important;
        width: calc(100% + 14px) !important;
    }
}


/* =========================================================
   Модуль поиска — как на главной (14.09.2026).

   Указание заказчика: «в результатах поиска нужно так же, как
   на главной, поиск сделать». Блок — копия раздела «Отличия
   от выдачи» из parts-search-home.css (модуль «Поиск запчастей»
   на главной) с #ztPartsSearch → #poisk-results. Стоит в конце
   файла и перекрывает прежнее оформление модуля выше: жёлтую
   рамку тела, язычок вкладки, жёлтый фокус поля.

   ⚠️ Меняете здесь — повторите в parts-search-home.css, и наоборот.
   ⚠️ catalog-grid.css больше не собирается скриптом без потерь:
   generate-catalog-grid-css.py 14.09.2026 выдавал файл на 55 КБ
   меньше текущего — в файл дописывали вручную. Скрипт не запускать;
   этот блок продублирован в конце catalog-grid.tail.css.
   ========================================================= */

/* 1. Карточка без рамки — макет заказчика «01 — Карточка без рамки»:
   «по механике кнопок оставляем, а дизайн делаем такой, а то слишком
   много жёлтых линий» (14.09.2026).

   В выдаче жёлтых линий три: рамка тела с формой, язычок выбранной
   вкладки и рамка поля в фокусе, а поле получает фокус после каждого
   переключения вкладки (так устроен search-advanced.js). Здесь модуль —
   белая карточка с мягкой тенью и без единой линии: у тела нет рамки,
   вкладки — плашки внутри карточки, выбранная — жёлтая, скруглена
   со всех сторон и отступает от краёв карточки. Жёлтыми остаются
   только выбранная вкладка и кнопка «Найти».

   Пропорции сняты с макета: плашки вкладок одной высоты с полем (56 px),
   отступ ряда вкладок от краёв карточки 14 px, между плашками 10 px,
   поле отступает от края карточки на 22 px, между вкладками и полем 20 px.
   Отменяет прежний вариант с жёлтой рамкой вокруг модуля и язычком.

   16.09.2026, указание заказчика: «в модуле нет обводки, а на других
   модулях есть аккуратная серая обводка». Добавлена серая обводка 1 px
   #dfe4e8 — та же, что у карточки CTA и блока баннеров главной. Жёлтых
   линий по-прежнему нет; тень прежняя. Размер карточки не меняется:
   у модуля box-sizing: border-box. */

#poisk-results .zt-advanced-search {
    background: #fff;
    border: 1px solid #dfe4e8;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(25, 38, 52, .05), 0 12px 32px rgba(25, 38, 52, .06);
}

#poisk-results .zt-advanced-search__tabs {
    min-height: 0;
    padding: 14px 14px 0;
    gap: 10px;
}

#poisk-results .zt-advanced-search__tab {
    min-height: 56px;
    border: 0;
    border-radius: 10px;
}

#poisk-results .zt-advanced-search__tab.is-active {
    margin: 0;
    border: 0;
    border-radius: 10px;
}

#poisk-results .zt-advanced-search__body {
    padding: 20px 22px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Поле: рамка серая и в фокусе — темнее, без жёлтого. */

#poisk-results .zt-advanced-search__single input:focus,
#poisk-results .zt-advanced-search__batch textarea:focus {
    border-color: #9aa3ad;
    box-shadow: 0 0 0 3px rgba(29, 39, 51, .06);
}

/* Массовый поиск — тот же принцип: пунктир зоны загрузки, рамка её
   значка и счётчик артикулов были жёлтыми, стали серыми. */

#poisk-results .zt-advanced-search__dropzone {
    border-color: #cfd6dd;
}

#poisk-results .zt-advanced-search__dropzone:hover,
#poisk-results .zt-advanced-search__dropzone.is-dragging {
    background: #f2f4f6;
    border-color: #9aa3ad;
}

#poisk-results .zt-advanced-search__drop-icon {
    color: #1d2733;
    border-color: #e1e6ea;
}

#poisk-results .zt-advanced-search__batch-bar [data-search-batch-count] {
    color: #1d2733;
    background: #fff;
    border-color: #dfe3e8;
}

/* Телефон: те же плашки 2 × 2 без разделительных линий, карточка
   плотнее. Между вкладками и полем 14 px — указание заказчика
   «в мобильной версии должен быть отступ от формы и типа поиска». */

@media (max-width: 700px) {
    #poisk-results .zt-advanced-search {
        border-radius: 14px;
    }

    #poisk-results .zt-advanced-search__tabs {
        padding: 10px 10px 0;
        gap: 6px;
    }

    #poisk-results .zt-advanced-search__tab {
        min-height: 48px;
    }

    #poisk-results .zt-advanced-search__body {
        padding: 14px 14px 16px;
    }
}

/* 2. «При выделении пункта поиска цвет текста и значка должны быть
   белыми». В выдаче — #1a1a1a. Селектор — тот же, что у правила
   выше (вес 3-2-0 с !important): стоит позже и поэтому главнее.
   Контраст белого на #ffb800 — 1,9 : 1, ниже нормы WCAG; сделано
   по прямому указанию, как у кнопок подменю шапки (07.09.2026). */

#poisk-results .zt-advanced-search__tab.is-active:not(#zt_):not(#zt_),
#poisk-results .zt-advanced-search__tab.is-active:not(#zt_):not(#zt_):hover {
    color: #fff !important;
}

#poisk-results .zt-advanced-search__tab.is-active:not(#zt_):not(#zt_) svg {
    color: #fff !important;
    stroke: currentColor !important;
}

/* 3. «В мобильной версии должен быть отступ от формы и типа поиска» —
   теперь это верхнее поле тела формы на телефоне (14 px, пункт 1). */

/* 4. «Иконки тоже должны быть белыми». Белый ставился на сам <svg>,
   а линии значка его не получали: reset.css:1 задаёт
   `* { color: var(--black) }` каждому элементу, в том числе <path>
   и <circle>, и их `stroke: currentColor` брал тёмный. Детали значка
   теперь наследуют цвет иконки — белый у выбранной вкладки, жёлтый
   при наведении на остальные. В выдаче та же причина: там линии
   значка --black вместо задуманного #1a1a1a, на глаз не отличить. */

#poisk-results .zt-advanced-search__tab svg * {
    color: inherit;
}

/* 5. Иконки вкладок — по образцам заказчика 14.09.2026 (штрихкод
   в рамке, розетка с галочкой, строки с лупой, список с лупой; сами
   значки — в разметке parts-search.php). Анимация — как у пунктов
   меню в шапке (header-polish.css:331-420, 2701-2875): при наведении
   и фокусе с клавиатуры значок один раз коротко двигается, у невыбранных
   вкладок заодно желтеет и получает мягкую тень. Кривые и длительности
   взяты у шапки: «прыжок» домика — артикулу, покачивание бейджа
   «Производители» — производителю, проезд грузовика — поиску
   по названию, наклон «Узлов и агрегатов» — массовому поиску. */

/* «Нужно сделать иконки больше»: 20 → 26 px, на телефоне → 22 px.
   Линия тоньше в единицах сетки (1,9 → 1,5), чтобы в пикселях она
   осталась прежней (~1,6 px) — крупный значок не тяжелеет. */

#poisk-results .zt-advanced-search__tab svg {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    stroke-width: 1.5;
    transform-origin: 50% 50%;
    transition: color .18s ease, filter .18s ease;
}

@media (max-width: 700px) {
    #poisk-results .zt-advanced-search__tab svg {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }
}

/* «При наведении на пункт поиска чтоб он вместе с иконкой был
   жёлтым»: у невыбранной вкладки на наведении и фокусе с клавиатуры
   желтеют и подпись, и значок (в выдаче подпись темнеет до #1d2733).
   Контраст #ffb800 на белом — 1,9 : 1; по прямому указанию. */

#poisk-results .zt-advanced-search__tab:not(.is-active):hover,
#poisk-results .zt-advanced-search__tab:not(.is-active):focus-visible {
    color: var(--zt-header-accent, #ffb800);
}

#poisk-results .zt-advanced-search__tab:not(.is-active):hover svg,
#poisk-results .zt-advanced-search__tab:not(.is-active):focus-visible svg {
    color: var(--zt-header-accent, #ffb800);
    filter: drop-shadow(0 4px 7px rgba(255, 184, 0, .24));
}

#poisk-results .zt-advanced-search__tab[data-search-type="article"]:hover svg,
#poisk-results .zt-advanced-search__tab[data-search-type="article"]:focus-visible svg {
    animation: zt-parts-search-hop .52s cubic-bezier(.22, .9, .3, 1);
}

#poisk-results .zt-advanced-search__tab[data-search-type="brand"]:hover svg,
#poisk-results .zt-advanced-search__tab[data-search-type="brand"]:focus-visible svg {
    animation: zt-parts-search-badge .56s cubic-bezier(.22, .9, .3, 1);
}

#poisk-results .zt-advanced-search__tab[data-search-type="name"]:hover svg,
#poisk-results .zt-advanced-search__tab[data-search-type="name"]:focus-visible svg {
    animation: zt-parts-search-glide .62s cubic-bezier(.2, .8, .25, 1);
}

#poisk-results .zt-advanced-search__tab[data-search-type="article_batch"]:hover svg,
#poisk-results .zt-advanced-search__tab[data-search-type="article_batch"]:focus-visible svg {
    animation: zt-parts-search-tilt .58s cubic-bezier(.2, .8, .25, 1);
}

@keyframes zt-parts-search-hop {
    0%, 100% { transform: translateY(0) scale(1); }
    42% { transform: translateY(-5px) scale(1.08); }
    70% { transform: translateY(1px) scale(.98); }
}

@keyframes zt-parts-search-badge {
    0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    42% { transform: translateY(-3px) rotate(-7deg) scale(1.08); }
    74% { transform: translateY(-1px) rotate(5deg) scale(1.03); }
}

@keyframes zt-parts-search-glide {
    0%, 100% { transform: translateX(0) translateY(0); }
    28% { transform: translateX(-3px) translateY(-1px); }
    68% { transform: translateX(6px) translateY(-1px); }
}

@keyframes zt-parts-search-tilt {
    0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
    38% { transform: translateY(-4px) rotate(-8deg) scale(1.07); }
    72% { transform: translateY(-1px) rotate(5deg) scale(1.03); }
}

/* 6. «Для кнопки „Найти запчасть“ нужно сделать иконку лупы и чтоб
   она тоже двигалась при наведении» (14.09.2026). Лупа стоит перед
   подписью вместо стрелки выдачи (в выдаче стрелка скрыта правилом
   выше — здесь значок снова показан). Цвет — цвет подписи кнопки:
   reset.css красит и сам <svg>, и его линии в --black, поэтому оба
   наследуют явно. Движение — в том же ключе, что у вкладок: лупа
   «оглядывается» — наклон влево-вверх, затем вправо, и на место. */

#poisk-results .zt-advanced-search__submit svg {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: inherit;
    stroke-width: 2.2;
    transform-origin: 45% 45%;
}

#poisk-results .zt-advanced-search__submit svg * {
    color: inherit;
}

#poisk-results .zt-advanced-search__submit:hover svg,
#poisk-results .zt-advanced-search__submit:focus-visible svg {
    animation: zt-parts-search-lens .6s cubic-bezier(.2, .8, .25, 1);
}

@keyframes zt-parts-search-lens {
    0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
    32% { transform: translate(-2px, -2px) rotate(-12deg) scale(1.1); }
    66% { transform: translate(2px, 0) rotate(8deg) scale(1.03); }
}

@media (prefers-reduced-motion: reduce) {
    #poisk-results .zt-advanced-search__tab svg,
    #poisk-results .zt-advanced-search__submit svg {
        animation: none !important;
        transition: none;
    }
}

/* ---------------------------------------------------------
   Аудит всплывающих окон, 17.09.2026: ящик фильтров на планшете
   и телефоне.

   Поля «от / до» цены и поиск производителя набирались 12 px —
   их держит правило нижней границы кегля в zt-redesign.css
   (`.poisk-filters__price input` и `.poisk-filters__search input`
   с !important). На iPhone и iPad поле мельче 16 px при фокусе
   увеличивает всю страницу: ящик уезжает вбок, и после ввода
   цены страницу приходится уменьшать пальцами. На сенсорных
   экранах и в режиме ящика (до 1024 px) — 16 px. На ПК с мышью
   боковая колонка фильтров остаётся прежней.
   --------------------------------------------------------- */

@media (max-width: 1024px), (pointer: coarse) {
    .poisk-results .poisk-filters__price input,
    .poisk-results .poisk-filters__search input {
        font-size: 16px !important;
    }
}

/* End */


/* Start:/local/templates/zipteh/assets/styles/catalog-seo-nav.css?17938698744397*/
/* =========================================================
   Каталог: строки под списком товаров.
   09.10.2026 (SEO, R-нов: быстрые переходы и посадочные по видам техники).

   Подключает section_vertical.php — только страницы раздела каталога.
   Разметка — там же:
     .zt-catalog-jump      «Быстрый переход: 50 100 … 650» под пейджером;
     .zt-catalog-machines  «Запчасти по видам техники» — 7 посадочных.

   Весь вид — новые блоки, остальная страница не затрагивается.
   Селекторы через #poisk-results и гарнитура с !important — как у
   пейджера в catalog-grid.css: иначе правило уровня `#poisk-results *`
   боевого домена ставит Tektur 16, а reset.css — line-height 1 и цвет
   каждому тегу. Значения взяты у кнопок пейджера (рамка #e3e5e5,
   радиус, жёлтый #ffb800 у текущей) — строки читаются его продолжением.
   ========================================================= */

#poisk-results .zt-catalog-jump {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin: 14px 0 0;
    padding: 0;
}

#poisk-results .zt-catalog-jump__caption,
#poisk-results .zt-catalog-machines__caption {
    margin: 0 4px 0 0;
    padding: 0;
    color: #6b737b;
    font-family: var(--zt-font-btn, "Manrope", "Inter", Arial, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

#poisk-results .zt-catalog-jump__page {
    min-width: 34px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    margin: 0;
    padding: 0 7px;
    border: 1px solid #e3e5e5;
    border-radius: 6px;
    background: #fff;
    color: #333a43;
    font-family: var(--zt-font-btn, "Manrope", "Inter", Arial, sans-serif) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none;
    transition: border-color 160ms ease;
}

#poisk-results a.zt-catalog-jump__page:hover {
    border-color: #ffb800;
}

#poisk-results .zt-catalog-jump__page--current {
    border-color: #ffb800;
    background: #ffb800;
    color: #1d2228;
}

#poisk-results .zt-catalog-machines {
    margin: 20px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid #e3e5e5;
}

#poisk-results .zt-catalog-machines__caption {
    display: block;
    margin: 0 0 10px;
    color: #1d2228;
    font-size: 14px !important;
    font-weight: 700 !important;
}

#poisk-results .zt-catalog-machines__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#poisk-results .zt-catalog-machines__item {
    margin: 0;
    padding: 0;
    list-style: none;
}

#poisk-results .zt-catalog-machines__item::before,
#poisk-results .zt-catalog-machines__item::marker {
    content: none;
}

#poisk-results .zt-catalog-machines__link {
    height: 36px;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #e3e5e5;
    border-radius: 8px;
    background: #fff;
    color: #333a43;
    font-family: var(--zt-font-btn, "Manrope", "Inter", Arial, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none;
    transition: border-color 160ms ease;
}

#poisk-results .zt-catalog-machines__link:hover {
    border-color: #ffb800;
}

#poisk-results a.zt-catalog-jump__page:focus-visible,
#poisk-results .zt-catalog-machines__link:focus-visible {
    outline: 2px solid #ffb800;
    outline-offset: 2px;
}

/* Телефон: подпись отдельной строкой, номера — в три ряда. */
@media (max-width: 620px) {
    #poisk-results .zt-catalog-jump__caption {
        flex: 0 0 100%;
    }

    #poisk-results .zt-catalog-jump__page {
        min-width: 34px;
        height: 30px;
        padding: 0 6px;
    }

    #poisk-results .zt-catalog-machines__link {
        height: 34px;
        padding: 0 12px;
    }
}

/* End */


/* Start:/local/templates/zipteh/components/bitrix/catalog.smart.filter/.default/style.min.css?17938698751408*/
.bx-filter.zip-smart-filter,
.bx-filter.zip-smart-filter * {
    box-sizing: border-box;
}

.bx-filter.zip-smart-filter {
    width: 100%;
    margin: 0;
    font-family: inherit;
}

.bx-filter.zip-smart-filter .smartfilter {
    margin: 0;
}

.bx-filter.zip-smart-filter .bx-filter-block {
    display: block;
}

.bx-filter.zip-smart-filter .poisk-filters__group.is-collapsed .bx-filter-block {
    display: none;
}

.bx-filter.zip-smart-filter .poisk-filters__option[hidden],
.bx-filter.zip-smart-filter .poisk-filters__more[hidden] {
    display: none !important;
}

.bx-filter.zip-smart-filter .poisk-filters__option.disabled {
    opacity: .42;
    pointer-events: none;
}

.bx-filter.zip-smart-filter .poisk-filters__option input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.bx-filter.zip-smart-filter .poisk-filters__option input:checked + .poisk-filters__checkbox::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
}

.bx-filter.zip-smart-filter .poisk-filters__option input:focus-visible + .poisk-filters__checkbox {
    outline: 3px solid rgba(255, 184, 0, .2);
    outline-offset: 2px;
}

.bx-filter.zip-smart-filter .bx-filter-popup-result {
    display: none !important;
}

.bx-filter.zip-smart-filter .poisk-filters__footer {
    padding: 0 17px 17px;
}

/* End */


/* Start:/local/templates/zipteh/components/bitrix/catalog.section/.default/style.min.css?17938698751447*/
.catalog-section{width:100%;min-width:0;}.catalog-section .bx-section-desc{margin:0 0 18px;padding:16px 18px;border:1px solid #e3e6ea;border-radius:10px;color:#656d78;background:#fafbfc;font-size:13px;line-height:1.6;}.catalog-section .bx-section-desc-post{margin:0;}.catalog-section .cards{width:100%;min-width:0;}.catalog-section .cards + .cards{margin-top:18px !important;}.zip-catalog-empty{display:flex;min-height:240px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:30px;border:1px dashed #d8dce2;border-radius:13px;color:#858c96;background:#fafbfc;text-align:center;}.zip-catalog-empty strong{color:#303640;font-size:18px;}[data-use^="show-more-"]{display:flex !important;min-height:46px;align-items:center;justify-content:center;margin:22px auto !important;padding:0 24px;border:1px solid #ffbd00 !important;border-radius:8px !important;color:#242a32 !important;background:#fff8dc !important;font-size:13px;font-weight:750;cursor:pointer;}.zip-basket-popup{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:16px;min-width:320px;padding:14px 4px;}.zip-basket-popup img{display:block;width:100px;height:86px;object-fit:contain;border-radius:8px;background:#f5f6f8;}.zip-basket-popup strong{color:#20252d;font-size:14px;line-height:1.4;}@media (max-width:620px){.zip-basket-popup{min-width:0;grid-template-columns:74px minmax(0,1fr);}.zip-basket-popup img{width:74px;height:68px;}}
/* End */


/* Start:/local/templates/zipteh/components/bitrix/catalog.item/.default/style.min.css?179386987522621*/
:root{--zip-yellow:#ffbd00;--zip-yellow-hover:#eca900;--zip-orange:#ed9800;--zip-dark:#171a20;--zip-text:#20242b;--zip-muted:#7c8490;--zip-border:#e1e5ea;--zip-border-hover:#d2d7de;--zip-surface:#ffffff;--zip-bg:#f6f7f9;--zip-success:#239849;--zip-success-bg:#edf8f0;--zip-order:#d98100;--zip-order-bg:#fff7e4;--zip-list-sticky-top:0px;--zip-list-columns:94px 82px 112px minmax(210px,1fr) 116px 260px;--zip-list-gap:12px}.catalog-section,.catalog-section .cards,.catalog-section .cards .items,.catalog-section .cards .items>.item,.catalog-section .cards .items>.item>*{box-sizing:border-box}.catalog-section .zip-product-card__technical,.catalog-section .product-item-info-container.product-item-hidden{display:none !important}.catalog-section .cards{margin:0 0 24px !important}.catalog-section .cards .items>.item>.brand,.catalog-section .cards .items>.item>.articul,.catalog-section .cards .items>.item>.title,.catalog-section .cards .items>.item>.items-header-photo,.catalog-section .cards .items>.item>.items-header-quantity,.catalog-section .cards .items>.item>.cost-cart,.catalog-section .cards .items>.item>.zip-product-card__meta{float:none !important;position:static;width:auto;height:auto;min-height:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:left}.zip-product-card__media-link{position:relative;display:block;width:100%;height:100%;color:inherit;text-decoration:none}.zip-product-card__image,.zip-product-card__slider{position:absolute !important;inset:18px !important;display:block;width:auto !important;height:auto !important;background-position:center !important;background-repeat:no-repeat !important;background-size:contain !important}.zip-product-card__slider .product-item-image-slide{position:absolute;inset:0;display:none;width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:contain}.zip-product-card__slider .product-item-image-slide.active{display:block}.zip-product-card__slider-dots{position:absolute;right:12px;bottom:10px;left:12px;z-index:16;display:flex;justify-content:center;gap:5px}.zip-product-card__slider-dots .product-item-image-slider-control{width:6px;height:6px;border-radius:50%;background:#b7bdc5}.zip-product-card__slider-dots .product-item-image-slider-control.active{background:var(--zip-yellow)}.zip-product-card__status{position:absolute;top:13px;left:13px;z-index:20;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 9px;border:1px solid transparent;border-radius:8px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.zip-product-card__status-icon{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.zip-product-card__status.is-available{color:var(--zip-success);border-color:#cee9d5;background:var(--zip-success-bg)}.zip-product-card__status.is-order{color:var(--zip-order);border-color:#f1d797;background:var(--zip-order-bg)}.zip-product-card__discount{position:absolute;top:13px;right:13px;z-index:20;padding:5px 8px;border-radius:6px;color:#fff;background:#d9363e;font-size:11px;font-weight:800}.zip-product-card__prices{display:flex;min-width:0;flex-direction:column;justify-content:center}.zip-product-card__old-price{min-height:13px;color:#a2a7af;font-size:11px;line-height:1.1;text-decoration:line-through;white-space:nowrap}.zip-product-card__price{color:var(--zip-dark) !important;font-size:21px !important;font-weight:800 !important;line-height:1.15 !important;white-space:nowrap}.zip-product-card__availability-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;margin-right:8px}.zip-product-card__availability-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.zip-product-card__availability-icon.is-available{color:var(--zip-success)}.zip-product-card__availability-icon.is-order{color:var(--zip-order)}.zip-product-card__amount{display:inline-flex;align-items:center;height:38px;overflow:hidden;border:1px solid var(--zip-border);border-radius:7px;background:#fff}.zip-product-card__amount-button{width:30px;height:36px;padding:0;border:0;background:#f3f4f6;color:var(--zip-dark);font-size:18px;line-height:36px;cursor:pointer}.zip-product-card__amount-input{width:38px !important;max-width:38px !important;height:36px !important;padding:0 !important;border:0 !important;background:#fff !important;text-align:center !important;font-size:13px !important}.zip-product-card__actions{flex:0 0 auto;margin:0 !important;padding:0 !important}.zip-product-card__action-button{display:inline-flex !important;align-items:center;justify-content:space-between;gap:12px;width:100% !important;min-width:0;min-height:48px;margin:0 !important;padding:7px 8px 7px 16px !important;border-radius:7px !important;font-family:inherit;font-size:13px !important;font-weight:700 !important;line-height:1 !important;white-space:nowrap;text-decoration:none !important;cursor:pointer;box-shadow:none !important;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.zip-product-card__action-button:hover{transform:translateY(-1px)}.zip-product-card__action-main{display:inline-flex;align-items:center;min-width:0;gap:9px}.zip-product-card__action-label{overflow:hidden;text-overflow:ellipsis}.zip-product-card__action-icon,.zip-product-card__action-arrow,.zip-product-card__cart-icon{display:block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.zip-product-card__action-icon{width:20px;height:20px}.zip-product-card__action-arrow{width:18px;height:18px}.zip-product-card__request-button{border:1px solid var(--zip-orange) !important;background:#fff !important;color:#c97700 !important}.zip-product-card__request-button:hover{border-color:#d58200 !important;background:#fff9ee !important;color:#aa6500 !important}.zip-product-card__cart-button{border:1px solid var(--zip-yellow) !important;background:var(--zip-yellow) !important;color:#fff !important}.zip-product-card__cart-button:hover{border-color:var(--zip-yellow-hover) !important;background:var(--zip-yellow-hover) !important;color:#fff !important}.zip-product-card__cart-icon-box{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:5px;background:#fff;color:var(--zip-yellow-hover)}.zip-product-card__cart-icon{width:20px;height:20px}.catalog-section .cards.view-cards .items-header{display:none !important}.catalog-section .cards.view-cards .items{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px}.catalog-section .cards.view-cards .items>.item{position:relative;display:flex !important;flex-direction:column;width:100% !important;min-width:0;min-height:100%;padding:16px !important;overflow:hidden;border:1px solid var(--zip-border) !important;border-radius:13px;background:var(--zip-surface) !important;box-shadow:0 5px 18px rgba(23,27,34,.04);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.catalog-section .cards.view-cards .items>.item:hover{border-color:rgba(255,189,0,.95) !important;box-shadow:0 14px 34px rgba(23,27,34,.085);transform:translateY(-2px)}.catalog-section .cards.view-cards .items>.item>.zip-product-card__media{position:relative !important;display:block !important;width:100% !important;aspect-ratio:1.52 / 1;margin:0 0 18px !important;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#fbfcfd,#f2f4f6) !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__meta{display:flex !important;align-items:center;justify-content:space-between;gap:14px;width:100% !important;margin:0 0 12px !important}.catalog-section .cards.view-cards .zip-product-card__brand,.catalog-section .cards.view-cards .zip-product-card__article{min-width:0;color:var(--zip-muted) !important;font-size:12px !important;font-weight:500 !important;line-height:1.3 !important}.catalog-section .cards.view-cards .zip-product-card__brand{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-section .cards.view-cards .zip-product-card__article{flex:0 0 auto;white-space:nowrap}.zip-product-card__article-prefix{margin-right:3px}.catalog-section .cards.view-cards .items>.item>.zip-product-card__title{display:block !important;width:100% !important;min-height:47px;margin:0 0 14px !important;overflow:hidden}.catalog-section .cards.view-cards .zip-product-card__title a,.catalog-section .cards.view-cards .zip-product-card__title>span{display:-webkit-box;overflow:hidden;color:var(--zip-text) !important;font-size:16px !important;font-weight:800 !important;line-height:1.42 !important;text-decoration:none !important;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalog-section .cards.view-cards .items>.item>.zip-product-card__quantity{display:flex !important;align-items:center;width:100% !important;margin:auto 0 14px !important;color:var(--zip-muted) !important;font-size:14px !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__quantity.is-available{color:var(--zip-success) !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__quantity.is-order{color:var(--zip-order) !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__buy{display:grid !important;grid-template-columns:minmax(84px,1fr) minmax(166px,194px);align-items:center;width:100% !important;gap:12px;padding-top:14px !important;border-top:1px solid var(--zip-border) !important}.catalog-section .cards.view-cards .zip-product-card__amount{display:none !important}.catalog-section .cards.view-lines,.catalog-section .cards.view-lines [data-entity="items-row"],.catalog-section .cards.view-lines .items{overflow:visible !important}.catalog-section .cards.view-lines .items-header,.catalog-section .cards.view-lines .items>.item{display:grid !important;grid-template-columns:var(--zip-list-columns);grid-template-areas:"photo brand article title quantity price";gap:var(--zip-list-gap)}.catalog-section .cards.view-lines .items-header{position:sticky !important;top:var(--zip-list-sticky-top) !important;z-index:100;align-items:center;min-height:48px;margin:0 0 10px !important;padding:11px 14px !important;border:1px solid var(--zip-border) !important;border-radius:11px;background:rgba(255,255,255,.985) !important;color:var(--zip-muted) !important;font-size:11px !important;font-weight:700 !important;line-height:1.2 !important;text-transform:none;letter-spacing:0;box-shadow:0 8px 22px rgba(23,27,34,.07);backdrop-filter:blur(10px)}.catalog-section .cards.view-lines:not(:first-of-type) .items-header{display:none !important}.catalog-section .cards.view-lines .items-header .items-header-photo,.catalog-section .cards.view-lines .items-header .photo{grid-area:photo}.catalog-section .cards.view-lines .items-header .brand{grid-area:brand}.catalog-section .cards.view-lines .items-header .articul{grid-area:article}.catalog-section .cards.view-lines .items-header .title{grid-area:title}.catalog-section .cards.view-lines .items-header .items-header-quantity{grid-area:quantity}.catalog-section .cards.view-lines .items-header .cost-cart{grid-area:price;display:grid !important;grid-template-columns:88px 160px;align-items:center;justify-content:end;gap:12px}.catalog-section .cards.view-lines .items-header .cost-cart::after{content:"Действие";text-align:center}.catalog-section .cards.view-lines .items{display:flex !important;flex-direction:column;gap:10px}.catalog-section .cards.view-lines .items>.item{align-items:center;width:100% !important;min-width:0;min-height:108px;padding:10px 14px !important;border:1px solid var(--zip-border) !important;border-radius:12px;background:#fff !important;box-shadow:0 2px 7px rgba(23,27,34,.025);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.catalog-section .cards.view-lines .items>.item:hover{border-color:var(--zip-border-hover) !important;background:#fffefa !important;box-shadow:0 8px 22px rgba(23,27,34,.055)}.catalog-section .cards.view-lines .items>.item>.zip-product-card__media{grid-area:photo;position:relative !important;display:block !important;width:94px !important;height:86px !important;overflow:hidden;border-radius:9px;background:var(--zip-bg) !important}.catalog-section .cards.view-lines .zip-product-card__media .zip-product-card__image,.catalog-section .cards.view-lines .zip-product-card__media .zip-product-card__slider{inset:8px !important}.catalog-section .cards.view-lines .zip-product-card__status{top:5px;left:5px;min-height:24px;padding:4px 7px;border-radius:7px;font-size:9px}.catalog-section .cards.view-lines .zip-product-card__status-icon{width:14px;height:14px}.catalog-section .cards.view-lines .zip-product-card__discount,.catalog-section .cards.view-lines .zip-product-card__slider-dots{display:none !important}.catalog-section .cards.view-lines .items>.item>.zip-product-card__meta{display:contents !important}.catalog-section .cards.view-lines .zip-product-card__brand{grid-area:brand}.catalog-section .cards.view-lines .zip-product-card__article{grid-area:article}.catalog-section .cards.view-lines .zip-product-card__brand,.catalog-section .cards.view-lines .zip-product-card__article{display:block !important;width:auto !important;min-width:0;overflow:hidden;color:var(--zip-muted) !important;font-size:12px !important;font-weight:600 !important;line-height:1.3 !important;text-overflow:ellipsis}.catalog-section .cards.view-lines .zip-product-card__brand{white-space:nowrap}.catalog-section .cards.view-lines .zip-product-card__article{overflow-wrap:anywhere}.catalog-section .cards.view-lines .zip-product-card__article-prefix{display:none}.catalog-section .cards.view-lines .items>.item>.zip-product-card__title{grid-area:title;display:block !important;width:auto !important;min-width:0}.catalog-section .cards.view-lines .zip-product-card__title a,.catalog-section .cards.view-lines .zip-product-card__title>span{display:-webkit-box;overflow:hidden;color:var(--zip-text) !important;font-size:13px !important;font-weight:750 !important;line-height:1.35 !important;text-decoration:none !important;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalog-section .cards.view-lines .items>.item>.zip-product-card__quantity{grid-area:quantity;display:flex !important;align-items:center;width:auto !important;min-width:0;color:var(--zip-muted) !important;font-size:13px !important;white-space:nowrap}.catalog-section .cards.view-lines .items>.item>.zip-product-card__quantity.is-available{color:var(--zip-success) !important}.catalog-section .cards.view-lines .items>.item>.zip-product-card__quantity.is-order{color:var(--zip-order) !important}.catalog-section .cards.view-lines .zip-product-card__availability-icon{flex-basis:18px;width:18px;height:18px;margin-right:7px}.catalog-section .cards.view-lines .zip-product-card__availability-icon svg{width:18px;height:18px}.catalog-section .cards.view-lines .items>.item>.zip-product-card__buy{grid-area:price;display:grid !important;grid-template-columns:88px 160px;align-items:center;justify-content:end;width:auto !important;min-width:0;gap:12px}.catalog-section .cards.view-lines .zip-product-card__price{font-size:15px !important}.catalog-section .cards.view-lines .zip-product-card__old-price{font-size:10px}.catalog-section .cards.view-lines .zip-product-card__amount{display:none !important}.catalog-section .cards.view-lines .zip-product-card__action-button{min-height:42px;padding:6px 7px 6px 13px !important;gap:8px;font-size:11px !important}.catalog-section .cards.view-lines .zip-product-card__action-main{gap:7px}.catalog-section .cards.view-lines .zip-product-card__action-icon,.catalog-section .cards.view-lines .zip-product-card__action-arrow{width:17px;height:17px}.catalog-section .cards.view-lines .zip-product-card__cart-icon-box{flex-basis:30px;width:30px;height:30px}.catalog-section .cards.view-lines .zip-product-card__cart-icon{width:18px;height:18px}.sort-buttons .sort-line,.sort-buttons .sort-cards{width:42px;height:42px;padding:10px;border:1px solid var(--zip-border) !important;border-radius:8px;background:#fff !important}.sort-buttons .sort-line.active,.sort-buttons .sort-cards.active{border-color:var(--zip-yellow) !important;background:#fff8df !important}@media (max-width:1250px){.catalog-section .cards.view-cards .items{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){:root{--zip-list-columns:86px 74px 102px minmax(185px,1fr) 108px 246px;--zip-list-gap:10px}.catalog-section .cards.view-cards .items>.item>.zip-product-card__buy{grid-template-columns:minmax(78px,1fr) minmax(154px,176px)}.catalog-section .cards.view-lines .items-header .cost-cart,.catalog-section .cards.view-lines .items>.item>.zip-product-card__buy{grid-template-columns:78px 156px;gap:10px}.catalog-section .cards.view-lines .items>.item>.zip-product-card__media{width:86px !important;height:80px !important}}@media (max-width:900px){.catalog-section .cards.view-cards .items{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-section .cards.view-lines .items-header{display:none !important}.catalog-section .cards.view-lines .items>.item{grid-template-columns:88px minmax(0,1fr) 182px;grid-template-areas:"photo title price" "photo brand price" "photo article quantity";gap:5px 12px;min-height:108px;padding:10px !important}.catalog-section .cards.view-lines .items>.item>.zip-product-card__media{width:80px !important;height:80px !important}.catalog-section .cards.view-lines .items>.item>.zip-product-card__buy{grid-template-columns:1fr;grid-template-rows:auto auto;gap:7px}.catalog-section .cards.view-lines .zip-product-card__actions,.catalog-section .cards.view-lines .zip-product-card__request-button{width:100%}.catalog-section .cards.view-lines .zip-product-card__price{font-size:14px !important}}@media (max-width:650px){.catalog-section .cards.view-cards .items,.catalog-section .cards.view-lines .items{display:grid !important;grid-template-columns:1fr;gap:12px}.catalog-section .cards.view-cards .items>.item{padding:14px !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__media{aspect-ratio:1.35 / 1}.catalog-section .cards.view-cards .items>.item>.zip-product-card__buy{grid-template-columns:minmax(76px,1fr) minmax(154px,180px);gap:10px}.catalog-section .cards.view-lines .items>.item{display:grid !important;grid-template-columns:76px minmax(0,1fr);grid-template-areas:"photo title" "photo brand" "photo article" "quantity quantity" "price price";gap:5px 10px;min-height:0;padding:12px !important}.catalog-section .cards.view-lines .items>.item>.zip-product-card__media{width:72px !important;height:72px !important}.catalog-section .cards.view-lines .items>.item>.zip-product-card__buy{grid-template-columns:minmax(74px,1fr) minmax(154px,172px);gap:10px;padding-top:10px !important;border-top:1px solid var(--zip-border) !important}}:root{--zip-list-columns:94px 82px 112px minmax(210px,1fr) 112px 232px}.catalog-section .zip-product-card__action-button{min-height:40px !important;padding:5px 6px 5px 12px !important;gap:8px !important;border-radius:6px !important;font-size:12px !important}.catalog-section .zip-product-card__request-button{justify-content:center !important;padding-right:12px !important}.catalog-section .zip-product-card__request-button .zip-product-card__action-main{justify-content:center;gap:7px !important}.catalog-section .zip-product-card__cart-icon-box{flex:0 0 28px !important;width:28px !important;height:28px !important}.catalog-section .zip-product-card__cart-icon,.catalog-section .zip-product-card__action-icon{width:17px !important;height:17px !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__buy{grid-template-columns:minmax(72px,1fr) minmax(124px,156px) !important;gap:8px !important;padding-top:12px !important}.catalog-section .cards.view-lines .items-header .cost-cart,.catalog-section .cards.view-lines .items>.item>.zip-product-card__buy{grid-template-columns:82px 138px !important;gap:8px !important}.catalog-section .cards.view-lines .zip-product-card__action-button{min-height:38px !important;padding:5px 6px 5px 10px !important;font-size:10.5px !important}.catalog-section .cards.view-lines .zip-product-card__cart-icon-box{flex-basis:27px !important;width:27px !important;height:27px !important}.catalog-section .zip-product-card__cart-button.is-loading{opacity:.68;pointer-events:none}.catalog-section .zip-product-card__cart-button.is-added{background:#239849 !important;border-color:#239849 !important}@media (max-width:1100px){:root{--zip-list-columns:86px 74px 102px minmax(185px,1fr) 104px 214px}.catalog-section .cards.view-cards .items>.item>.zip-product-card__buy{grid-template-columns:minmax(68px,1fr) minmax(118px,146px) !important}.catalog-section .cards.view-lines .items-header .cost-cart,.catalog-section .cards.view-lines .items>.item>.zip-product-card__buy{grid-template-columns:74px 132px !important}}@media (max-width:650px){.catalog-section .cards.view-cards .items>.item>.zip-product-card__buy,.catalog-section .cards.view-lines .items>.item>.zip-product-card__buy{grid-template-columns:minmax(68px,1fr) minmax(118px,146px) !important}}.catalog-section .cards.view-lines .zip-product-card__status{display:none !important}html body .catalog-section .cards .items>.item .zip-product-card__image.is-placeholder{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;background-position:center center !important;background-repeat:no-repeat !important;background-size:cover !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__media.is-placeholder{width:calc(100% + 32px) !important;max-width:none !important;aspect-ratio:260 / 170 !important;margin:-16px -16px 18px !important;border-radius:12px 12px 0 0 !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__media.is-placeholder .zip-product-card__media-link{width:100% !important;height:100% !important}.catalog-section .cards.view-cards .items>.item>.zip-product-card__media.is-placeholder .zip-product-card__image.is-placeholder{inset:0 !important;width:100% !important;height:100% !important;background-position:center center !important;background-repeat:no-repeat !important;background-size:cover !important}.catalog-section .cards.view-lines .items>.item>.zip-product-card__media.is-placeholder{width:auto !important;max-width:100% !important;margin:0 !important;border-radius:8px !important}
/* End */


/* Start:/local/templates/zipteh/components/bitrix/catalog.section/.default/themes/blue/style.min.css?1793869875706*/
.bx-blue .product-item-image-slider-progress-bar{background-color:#0083d1}.bx-blue .product-item-image-slider-control:hover{background-color:rgba(0,131,209,.8)}.bx-blue .product-item-image-slider-control.active,.bx-blue .product-item-image-slider-control:hover{background-color:#0083d1}.bx-blue .product-item-scu-item-text-block:hover,.bx-blue .product-item-scu-item-color-block:hover,.bx-blue .product-item-scu-item-text-container.selected .product-item-scu-item-text-block,.bx-blue .product-item-scu-item-color-container.selected .product-item-scu-item-color-block{outline-color:#006cc0}.bx-blue .product-item-amount-field:focus{border-color:#006cc0}.bx-blue .catalog-section-header{border-color:#006cc0}
/* End */
/* /local/templates/zipteh/components/bitrix/catalog/catalog/style.min.css?179386987510313 */
/* /local/templates/zipteh/assets/styles/poisk-results.css?179386987568447 */
/* /local/templates/zipteh/assets/styles/catalog-grid.css?1793869874197838 */
/* /local/templates/zipteh/assets/styles/catalog-seo-nav.css?17938698744397 */
/* /local/templates/zipteh/components/bitrix/catalog.smart.filter/.default/style.min.css?17938698751408 */
/* /local/templates/zipteh/components/bitrix/catalog.section/.default/style.min.css?17938698751447 */
/* /local/templates/zipteh/components/bitrix/catalog.item/.default/style.min.css?179386987522621 */
/* /local/templates/zipteh/components/bitrix/catalog.section/.default/themes/blue/style.min.css?1793869875706 */
