.catalog-layout  {
    display:flex;
    align-items:flex-start;
    gap:34px;
}
.catalog-sidebar  {
    flex:0 0 265px;
    min-width:0;
}
#product-filters  {
    background:var(--surface);
    padding:24px;
}
.catalog-sidebar h2  {
    font-size:20px;
    margin-bottom:22px;
}
.catalog-sidebar label  {
    display:block;
    font-size:12px;
    font-weight:600;
    margin:16px 0 7px;
}
.catalog-sidebar input  {
    width:100%;
}
.catalog-sidebar .select-toggle  {
    padding:10px 12px;
    font-size:13px;
}
.filter-actions  {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}
.filter-actions .button  {
    flex:1;
    padding:10px;
    font-size:12px;
}
.catalog-main  {
    flex:1;
    min-width:0;
    position:relative;
}
.catalog-card  {
    display:flex;
    align-items:center;
    gap:22px;
    padding:24px;
    margin-bottom:18px;
}
.catalog-card .product-image  {
    flex:0 0 180px;
    padding:4px;
}
.catalog-card .product-copy  {
    flex:1;
}
.catalog-card .product-copy h3  {
    font-size:26px;
    line-height:1.35;
}
.catalog-card .number-prefix  {
    font-size:inherit;
}
.catalog-card .product-name  {
    font-size:17px;
    line-height:1.5;
}
.catalog-card .product-num  {
    font-size:16px;
    line-height:1.5;
}
.catalog-card .add-cart  {
    flex:0 0 120px;
    padding:12px 8px;
    font-size:12px;
}
.is-loading  {
    opacity:.45;
    pointer-events:none;
}
#product-status  {
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 16px;
    background:var(--surface);
    margin-bottom:16px;
}
#product-error  {
    border:1px solid #ecc6be;
    padding:16px;
    margin-bottom:20px;
    background:#fff7f4;
}
#brand-loading  {
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    font-size:12px;
}
#brand-error,
.filter-error,
.filter-hint  {
    font-size:12px;
    margin:12px 0 4px;
}
#retry-brand,
.filter-retry  {
    font-size:12px;
}
@media (max-width:1180px)  {
    .catalog-layout  {
        gap:24px;
    }
    .catalog-sidebar  {
        flex-basis:240px;
    }
    .catalog-card  {
        padding:20px;
        gap:16px;
        flex-wrap:wrap;
    }
    .catalog-card .product-image  {
        flex-basis:140px;
    }
    .catalog-card .product-copy  {
        flex-basis:calc(100% - 156px);
    }
    .catalog-card .add-cart  {
        margin-left:156px;
        flex-basis:auto;
    }
}
@media (max-width:900px)  {
    .catalog-layout  {
        flex-direction:column;
        gap:30px;
    }
    .catalog-sidebar  {
        flex-basis:auto;
        width:100%;
    }
    .catalog-main  {
        width:100%;
    }
    #product-filters  {
        display:flex;
        flex-wrap:wrap;
        gap:8px 18px;
    }
    #product-filters .filter-error,
    #product-filters .filter-hint,
    #product-filters .filter-retry,
    #product-filters h2  {
        width:100%;
    }
    #product-filters label  {
        width:100%;
        margin:4px 0;
    }
    #product-filters > .custom-select  {
        width:100%;
    }
    .filter-actions  {
        width:100%;
    }
    .filter-actions .button  {
        flex:0 1 160px;
    }
    .catalog-card .product-image  {
        flex-basis:180px;
    }
    .catalog-card .product-copy  {
        flex-basis:calc(100% - 196px);
    }
    .catalog-card .add-cart  {
        margin-left:196px;
    }
}
@media (max-width:640px)  {
    .filter-actions .button  {
        flex:1;
        min-width:0;
    }
    .catalog-card  {
        padding:18px;
        gap:16px;
    }
    .catalog-card .product-image  {
        flex:0 0 100%;
        padding:0;
    }
    .catalog-card .product-image img  {
        height:200px;
        aspect-ratio:auto;
    }
    .catalog-card .product-copy  {
        flex:0 0 100%;
    }
    .catalog-card .add-cart  {
        margin-left:0;
    }
    #product-filters,.part-tree  {
        padding:20px;
    }
}
