/* Каталог товаров — размеры и типографика по Figma, узел 74:1962. */
.catalog-page{background:#fff;color:#111}
.catalog-main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:16px 0 40px}
.catalog-breadcrumbs{display:flex;align-items:center;gap:9px;min-height:24px;margin-left:0;font:400 14px/20px var(--font-family-primary);color:#111;text-transform:none}
.catalog-breadcrumbs a,.catalog-breadcrumbs [aria-current="page"]{color:inherit;font-size:14px;text-decoration:none;text-transform:none}
.catalog-breadcrumbs a:hover{text-decoration:none}
.breadcrumb-separator{display:inline-flex;align-items:center;justify-content:center;height:20px;position:relative;top:-2px;font:400 21px/1 var(--font-family-primary);color:#111;margin-inline:1px}
.catalog-heading{display:block;height:auto;margin:24px 0 40px}
.catalog-heading h1{margin:0;font:400 50px/1.18 var(--font-family-heading);letter-spacing:0;text-transform:uppercase;color:#111}
.catalog-heading p{margin:12px 0 0;font:400 20px/1.4 var(--font-family-primary);color:#111}
.catalog-grid{display:grid;grid-template-columns:repeat(3,360px);justify-content:space-between;gap:clamp(16px,1.56vw,20px)}
.catalog-card{box-sizing:border-box;width:360px;height:385px;display:flex;flex-direction:column;overflow:hidden;min-width:0;border:1px solid #e2e2e2;border-radius:3px;background:#f4f4f5;color:#111;text-decoration:none;box-shadow:0 2px 8px #0000001c;transition:border-color .15s ease,box-shadow .15s ease}
.catalog-card:hover,.catalog-card:focus-visible{border-color:#D11D23;box-shadow:0 3px 10px #00000020;outline:0}
.catalog-photo{box-sizing:border-box;display:block;flex:0 0 286px;width:100%;height:286px;overflow:hidden;background:#f2f2f3}
.catalog-photo img{display:block;width:100%;height:100%;object-fit:cover}
.catalog-copy{position:relative;box-sizing:border-box;flex:1;min-height:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 48px 9px 10px;background:#f5f5f6}
.catalog-copy strong{font:400 21px/1.2 var(--font-family-heading);color:#111}
.catalog-copy>span{font:400 14px/1.35 var(--font-family-primary);color:#111}
.catalog-arrow{position:absolute;right:10px;bottom:12px;width:30px;height:15px;object-fit:contain}
@media(max-width:1135px) and (min-width:768px){
  .catalog-grid{grid-template-columns:repeat(2,360px);justify-content:center}
}
@media(max-width:767px){
  .catalog-main{width:calc(100% - 30px);padding:12px 0 40px}
  .catalog-breadcrumbs{min-height:26px;font-size:14px;line-height:20px;gap:8px}
  .catalog-heading{margin:22px 0 40px}
  .catalog-heading h1{font-size:50px;line-height:1.12}
  .catalog-heading p{margin-top:12px;font-size:20px;line-height:1.4}
  .catalog-grid{grid-template-columns:minmax(0,360px);justify-content:center;gap:16px}
  .catalog-card{width:100%;height:385px}
  .catalog-copy{padding:12px 48px 9px 10px}
  .catalog-copy strong{font-size:21px;line-height:1.2}
  .catalog-copy>span{font-size:14px;line-height:1.35}
}
@media(max-width:374px){
  .catalog-main{width:calc(100% - 24px)}
}

/* Category selectors stay visible; detailed product filters open separately. */
.catalog-page .category-filter-toolbar{display:flex;align-items:stretch;gap:18px;margin-bottom:40px}
.catalog-page .carts-filters-toolbar{margin-bottom:30px}
.catalog-page .category-filter-toolbar .carts-filters,.catalog-page .category-filter-toolbar .motoblock-filters,.catalog-page .category-filter-toolbar .generator-filters{flex:1;min-width:0;margin:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap}
.catalog-page .category-filter-toolbar .carts-filters::-webkit-scrollbar,.catalog-page .category-filter-toolbar .motoblock-filters::-webkit-scrollbar,.catalog-page .category-filter-toolbar .generator-filters::-webkit-scrollbar{display:none;width:0;height:0}
.catalog-page .category-filters,.catalog-page .generator-filters,.catalog-page .motoblock-filters,.catalog-page .carts-filters{overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}
.catalog-page .category-filters::-webkit-scrollbar,.catalog-page .generator-filters::-webkit-scrollbar,.catalog-page .motoblock-filters::-webkit-scrollbar,.catalog-page .carts-filters::-webkit-scrollbar{display:none;width:0;height:0}
.catalog-page .category-filter-toolbar nav{margin-left:0;margin-right:0}
.catalog-page .category-filter-toolbar .filter-trigger{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:12px;min-width:142px;min-height:44px;padding:10px 16px;border:1px solid #d8d8da;background:#fff;color:#101014;font:400 14px/20px var(--font-family-primary);text-transform:uppercase;cursor:pointer;transition:border-color .15s ease,color .15s ease}
.catalog-page .category-filter-toolbar .filter-trigger:hover,.catalog-page .category-filter-toolbar .filter-trigger[aria-expanded="true"]{border-color:#D11D23;color:#D11D23}
.catalog-page .category-filter-toolbar .filter-trigger:focus-visible{outline:2px solid #101014;outline-offset:2px}
.filter-icon{position:relative;display:inline-block;width:18px;height:16px;background:linear-gradient(currentColor,currentColor) left 1px top 3px/18px 1.5px no-repeat,linear-gradient(currentColor,currentColor) left 1px bottom 3px/18px 1.5px no-repeat}
.filter-icon:before,.filter-icon:after{position:absolute;width:5px;height:5px;border:1px solid currentColor;border-radius:50%;background:#fff;content:""}
.filter-icon:before{top:1px;left:5px}.filter-icon:after{right:4px;bottom:1px}
.product-filter-dialog{box-sizing:border-box;width:min(1100px,calc(100% - 48px));max-width:none;height:min(860px,calc(100dvh - 48px));max-height:none;margin:auto;padding:0;border:0;background:#fff;color:#101014;box-shadow:0 16px 55px #0003;font-family:var(--font-family-primary)}
.product-filter-dialog::backdrop{background:#0008}
.product-filter-dialog[open]{display:block}
.product-filter-dialog-inner{box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;padding:26px 24px 24px}
.product-filter-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;height:auto;min-height:48px}
.product-filter-dialog-header h2{margin:0;font:400 30px/1.15 var(--font-family-heading);text-transform:uppercase}
.product-filter-close{width:42px;height:42px;padding:0;border:0;background:transparent;color:#101014;font:400 34px/1 var(--font-family-primary);cursor:pointer}
.product-filter-context{margin:28px 0 20px;font:400 18px/1.25 var(--font-family-primary)}
.product-filter-form{display:flex;flex:1;min-height:0;flex-direction:column}
.product-filter-fields{display:grid;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;overflow:auto}
.product-filter-column{display:flex;flex-direction:column;gap:32px;min-width:0}
.product-filter-group{min-width:0;margin:0;padding:0;border:0}
.product-filter-group h3,.product-filter-group legend{display:block;margin:0 0 10px;padding:0;font:400 18px/1.25 var(--font-family-primary)}
.product-filter-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.product-filter-range label{display:block;min-width:0}
.product-filter-range input{box-sizing:border-box;width:100%;height:56px;padding:12px 16px;border:1px solid #d8dadd;background:#fff;color:#101014;font:400 16px/1.3 var(--font-family-primary)}
.product-filter-range input::placeholder{color:#101014;opacity:1}
.product-filter-hint{margin:8px 0 0;color:#62686C;font:400 14px/1.3 var(--font-family-primary)}
.product-filter-check{display:flex;align-items:center;gap:14px;min-height:40px;margin:0 0 8px;font:400 15px/1.3 var(--font-family-primary);cursor:pointer}
.product-filter-check input{appearance:none;box-sizing:border-box;display:grid;flex:0 0 32px;width:32px;height:32px;margin:0;border:2px solid #d8dadd;border-radius:3px;background:#fff;place-content:center;cursor:pointer}
.product-filter-check input:checked{border-color:#D11D23;background:#D11D23}
.product-filter-check input:checked:before{width:12px;height:7px;border-bottom:2px solid #fff;border-left:2px solid #fff;content:"";transform:rotate(-45deg) translate(1px,-1px)}
.product-filter-check input:focus-visible{outline:2px solid #101014;outline-offset:2px}
.product-filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:24px;padding-top:12px;background:#fff}
.product-filter-actions button{min-height:66px;padding:14px 18px;border:1px solid #d8dadd;background:#fff;color:#101014;font:400 15px/1.2 var(--font-family-primary);text-transform:uppercase;cursor:pointer}
.product-filter-actions .product-filter-apply{border-color:#C8332E;background:#C8332E;color:#fff}
.product-filter-actions .product-filter-apply:hover{background:#b62320}
.product-filter-actions .product-filter-reset:hover{border-color:#101014}
@media(max-width:767px){
  .catalog-page .category-filter-toolbar{display:block;margin-bottom:40px}
  .catalog-page .carts-filters-toolbar{margin-bottom:24px}
  .catalog-page .category-filter-toolbar .filter-trigger{display:none}
  .catalog-page .category-filter-toolbar .carts-filters,.catalog-page .category-filter-toolbar .motoblock-filters,.catalog-page .category-filter-toolbar .generator-filters{display:flex;flex:initial;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap}
  .product-filter-dialog{width:calc(100% - 20px);height:calc(100dvh - 20px)}
  .product-filter-dialog-inner{padding:18px 16px 14px}
  .product-filter-dialog-header h2{font-size:28px}
  .product-filter-close{width:36px;height:36px;font-size:30px}
  .product-filter-context{margin:24px 0 18px;font-size:18px}
  .product-filter-fields{grid-template-columns:minmax(0,1fr);gap:22px}
  .product-filter-column{gap:22px}
  .product-filter-group h3,.product-filter-group legend{font-size:17px}
  .product-filter-range{gap:10px}
  .product-filter-range input{height:48px;padding:10px;font-size:15px}
  .product-filter-check{min-height:38px;font-size:15px}
  .product-filter-check input{flex-basis:26px;width:26px;height:26px}
  .product-filter-actions{gap:10px;margin-top:14px;padding-top:10px}
  .product-filter-actions button{min-height:50px;padding:10px 6px;font-size:14px}
}

/* Desktop filter popovers for carts, motoblocks, and generators. */
@media(min-width:768px){
  .catalog-page .filter-control{position:relative;z-index:5;display:inline-flex;margin-bottom:40px}
  .catalog-page .carts-filter-control{margin-bottom:30px}
  .catalog-page .filter-trigger{display:inline-flex;align-items:center;gap:18px;min-height:42px;padding:10px 16px;border:1px solid #d8d8da;background:#fff;color:#101014;font:400 14px/20px var(--font-family-primary);text-transform:uppercase;cursor:pointer;transition:border-color .15s ease,color .15s ease}
  .catalog-page .filter-trigger:hover,.catalog-page .filter-control.is-open .filter-trigger{border-color:#D11D23;color:#D11D23}
  .catalog-page .filter-trigger:focus-visible{outline:2px solid #101014;outline-offset:2px}
  .catalog-page .filter-trigger-chevron{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}
  .catalog-page .filter-control.is-open .filter-trigger-chevron{transform:rotate(225deg) translate(-2px,-1px)}
  html.js .catalog-page .filter-popup{position:absolute;top:calc(100% + 8px);left:0;z-index:10;display:none;flex-direction:column;align-items:stretch;gap:0;width:max-content;min-width:260px;max-width:min(380px,calc(100vw - 40px));margin:0;padding:6px;border:1px solid #dedee0;background:#fff;box-shadow:0 8px 24px #0002}
  html.js .catalog-page .filter-control.is-open .filter-popup{display:flex}
  .catalog-page .filter-popup>button{position:relative;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;width:100%;min-height:40px;padding:9px 12px;border:0;background:#fff;color:#101014;text-align:left;text-align-last:left;text-transform:uppercase;white-space:normal;font:400 14px/20px var(--font-family-primary);cursor:pointer}
  .catalog-page .filter-popup>button:hover{background:#f4f4f5;color:#D11D23}
  .catalog-page .filter-popup>button.is-active{background:#f4f4f5;color:#D11D23}
  .catalog-page .filter-popup>button.is-active:after{content:"✓";display:block;color:#D11D23;font:400 16px/1 var(--font-family-primary)}
  .catalog-page .filter-popup>button:focus-visible{outline:2px solid #D11D23;outline-offset:-2px}
}

@media(max-width:767px){
  .catalog-page .filter-control{display:contents}
  .catalog-page .filter-trigger{display:none}
  .catalog-page .filter-control .filter-popup{position:static;display:flex;flex-direction:row;align-items:stretch;gap:22px;width:auto;min-width:0;max-width:none;margin:0 0 40px;padding:0;border:0;background:transparent;box-shadow:none;overflow-x:auto;white-space:nowrap}
  .catalog-page .carts-filter-control .filter-popup{gap:18px;margin-bottom:24px}
  .catalog-page .filter-control .filter-popup>button{position:relative;display:block;flex:0 0 auto;width:auto;min-height:0;padding:0 0 10px;border:0;background:none;color:#111;font:400 13px/1.35 var(--font-family-primary);text-align:left;text-transform:uppercase;white-space:nowrap}
  .catalog-page .carts-filter-control .filter-popup>button{font-size:12px;padding-bottom:10px}
  .catalog-page .filter-control .filter-popup>button.is-active:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#D11D23;content:""}
  .catalog-page .filter-control .filter-popup>button.is-active{background:none;color:#111}
  .catalog-page .filter-control .filter-popup>button:hover{background:none;color:#D11D23}
}


/* Remove the neutral baseline under category filters across all catalog pages. */
.catalog-page .category-filters,.catalog-page .generator-filters,.catalog-page .motoblock-filters,.catalog-page .carts-filters{border-bottom:none!important}

/* Mobile category toolbar keeps the type tabs and exposes advanced filters. */
@media(max-width:767px){
 .catalog-page .category-filter-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;margin-bottom:28px!important}
 .catalog-page .category-filter-toolbar .generator-filters,.catalog-page .category-filter-toolbar .carts-filters,.catalog-page .category-filter-toolbar .motoblock-filters{grid-column:1/-1!important;grid-row:1!important}
 .catalog-page .category-filter-toolbar .filter-trigger{grid-column:2!important;grid-row:2!important;display:inline-flex!important;justify-self:end!important;min-width:142px!important;min-height:44px!important;margin:0!important}
 .product-filter-dialog{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow:hidden!important}
 .product-filter-dialog-inner{min-height:0!important}
 .product-filter-form{min-height:0!important}
 .product-filter-actions{position:sticky!important;bottom:0!important;flex:0 0 auto!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}
}
