.catalog-navigation { margin: 0 0 38px; }
.catalog-navigation > .container { box-sizing: border-box; min-width: 0; }
.catalog-navigation-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 16px; }
.catalog-navigation-head h2 { margin: 0; color: #1f2c38; font-size: clamp(21px, 2vw, 28px); font-weight: 550; }
.catalog-navigation-toggle { flex: 0 0 auto; padding: 8px 15px; color: #0066b3; border: 1px solid #a8c9e8; border-radius: 20px; background: #fff; cursor: pointer; font: inherit; font-size: 13px; }
.catalog-navigation-toggle:hover { color: #fff; border-color: #0066b3; background: #0066b3; }
.catalog-navigation-toggle small { color: inherit; font-size: inherit; opacity: .7; }
.catalog-navigation-grid { display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.catalog-navigation-card { position: relative; box-sizing: border-box; display: flex; min-width: 0; min-height: 174px; align-items: flex-start; overflow: hidden; padding: 20px 48px 20px 18px; color: #153c63; border: 1px solid #d7e1e9; border-radius: 13px; background: #fff; box-shadow: 0 8px 22px rgba(28, 65, 96, .045); text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.catalog-navigation-card:hover { color: #0066b3; border-color: #82b3dd; box-shadow: 0 14px 30px rgba(11, 73, 129, .11); transform: translateY(-2px); }
.catalog-navigation-content { position: relative; z-index: 2; display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; }
.catalog-navigation-card.has-image .catalog-navigation-content { width: 59%; }
.catalog-navigation-type { display: inline-flex; margin: 0 0 13px; padding: 5px 10px 4px; color: #4378a8; border: 1px solid #deebf6; border-radius: 999px; background: #f4f8fc; font-size: 10.5px; font-weight: 600; letter-spacing: .035em; line-height: 1; text-transform: uppercase; }
.catalog-navigation-card strong { display: -webkit-box; overflow: hidden; font-size: 16px; font-weight: 600; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.catalog-navigation-text { display: -webkit-box; margin-top: 8px; overflow: hidden; color: #617486; font-size: 11.5px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.catalog-navigation-card.has-image .catalog-navigation-text { display: none; }
.catalog-navigation-visual { position: absolute; z-index: 1; top: 50%; right: 12px; display: grid; width: 42%; height: 128px; place-items: center; transform: translateY(-50%); }
.catalog-navigation-visual::before { content: none; }
.catalog-navigation-visual img { position: relative; z-index: 1; display: block; max-width: 100%; max-height: 112px; object-fit: contain; mix-blend-mode: multiply; transition: transform .25s ease; }
.catalog-navigation-card:hover .catalog-navigation-visual img { transform: scale(1.035); }
.catalog-navigation-arrow { position: absolute; z-index: 3; right: 17px; bottom: 17px; display: grid; place-items: center; width: 28px; height: 28px; color: #0874c9; background: transparent; border-radius: 0; box-shadow: none; font-size: 28px; line-height: 1; transition: color .2s, transform .2s; }
.catalog-navigation-card:hover .catalog-navigation-arrow { color: #005fa9; transform: translateX(3px); }
.catalog-navigation-card:nth-child(n+9) { display: none; }
.catalog-navigation-grid.is-expanded .catalog-navigation-card { display: flex; }
.product-list-wrapper > .container { display: block !important; grid-template: none !important; }
.catalog-wp-layout { display: grid; grid-template-columns: minmax(245px, 290px) minmax(0, 1fr); gap: 30px; align-items: start; }
.catalog-wp-layout.without-sidebar { grid-template-columns: minmax(0, 1fr); }
.catalog-wp-sidebar { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; padding: 0; border: 1px solid #dce5ed; border-radius: 14px; background: #fff; box-shadow: 0 10px 32px rgba(27, 66, 99, .06); scrollbar-width: thin; }
.catalog-wp-sidebar .products-filters-top { display: none; justify-content: space-between; align-items: center; padding: 16px 18px; border-bottom: 1px solid #e4ebf1; }
.catalog-wp-sidebar .products-filters_title { font-size: 18px; font-weight: 600; }
.catalog-wp-sidebar .products-filters_close { display: none; border: 0; background: none; }
.catalog-wp-main { min-width: 0; }
.catalog-wp-main .product-sort-list { display: flex !important; flex-flow: row wrap !important; align-items: center !important; gap: 12px 24px; width: 100%; margin: 0 0 22px; }
.catalog-reset-filter { display: none; align-items: center; flex: 0 0 auto; margin-right: auto; padding: 7px 14px; color: #0066b3; border: 1px solid #9ec4e5; border-radius: 18px; background: #f6faff; font-size: 13px; text-decoration: none; }
.catalog-reset-filter.is-visible { display: inline-flex; }
.catalog-reset-filter:hover { color: #fff; border-color: #0066b3; background: #0066b3; }
.product-sort-label { color: #2c2c2c; font-size: 14px; }
.catalog-wp-main .product-sort { display: inline-flex !important; flex: 0 0 auto !important; flex-direction: row !important; align-items: center; gap: 6px; width: auto !important; padding: 0; border: 0; color: #2c2c2c; background: transparent; cursor: pointer; font: inherit; white-space: nowrap; }
.catalog-wp-main .product-sort.active { color: #0066b3; }
.catalog-wp-main .product-sort.DESC .product-sort_icon { transform: rotate(180deg); }
.catalog-wp-main .product-list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; align-items: stretch; }
.catalog-wp-main .product-card { width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; }
.catalog-wp-main .product-card_img { max-width: 100%; }
.catalog-category-panel { padding: 18px 14px 16px; }
.catalog-category-panel-title, .catalog-filter-panel-title { margin: 0 4px 13px; color: #273746; font-size: 17px; font-weight: 600; }
.catalog-category-level { display: grid; gap: 6px; }
.catalog-category-item { min-width: 0; border: 0; }
.catalog-category-item > summary { position: relative; display: flex; align-items: center; min-height: 44px; padding: 7px 32px 7px 37px; list-style: none; border: 1px solid #e0e8ef; border-radius: 9px; background: #fff; cursor: pointer; box-shadow: 0 2px 7px rgba(31, 75, 111, .025); transition: color .2s, background .2s, border-color .2s, box-shadow .2s; }
.catalog-category-item > summary::-webkit-details-marker { display: none; }
.catalog-category-item > summary:hover { border-color: #b9d3e8; background: #f8fbfe; box-shadow: 0 4px 11px rgba(31, 93, 143, .07); }
.catalog-category-item > summary a { flex: 1; min-width: 0; color: #34536d; font-size: 14px; font-weight: 500; line-height: 1.3; text-decoration: none; }
.catalog-category-icon { position: absolute; left: 10px; top: 50%; width: 16px; height: 16px; color: #8ba3b8; fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; transform: translateY(-50%); transition: color .2s; }
.catalog-category-item > summary:hover .catalog-category-icon { color: #4f8fbe; }
.catalog-category-item.is-branch > summary,
.catalog-category-item.is-current > summary { border-color: #66aee9; background: #f2f8fe; box-shadow: 0 0 0 1px rgba(0, 116, 204, .05); }
.catalog-category-item.is-branch > summary a,
.catalog-category-item.is-current > summary a { color: #006cc1; font-weight: 600; }
.catalog-category-item.is-branch > summary .catalog-category-icon,
.catalog-category-item.is-current > summary .catalog-category-icon { color: #1685d5; }
.catalog-category-toggle::after { content: ''; position: absolute; right: 12px; top: 50%; width: 6px; height: 6px; border-right: 1.4px solid #6f91ad; border-bottom: 1.4px solid #6f91ad; transform: translateY(-70%) rotate(45deg); transition: transform .2s, border-color .2s; }
.catalog-category-item.is-branch > summary .catalog-category-toggle::after,
.catalog-category-item.is-current > summary .catalog-category-toggle::after { border-color: #1685d5; }
.catalog-category-item[open] > summary .catalog-category-toggle::after { transform: translateY(-30%) rotate(225deg); }
.catalog-category-level-1 { gap: 2px; margin: 7px 0 9px 16px; padding: 0 0 0 11px; border-left: 1px solid #d3e1ec; }
.catalog-category-level-1 .catalog-category-item { border: 0; }
.catalog-category-level-1 .catalog-category-item > summary { min-height: 34px; padding: 5px 24px 5px 12px; border-color: transparent; background: transparent; border-radius: 6px; box-shadow: none; }
.catalog-category-level-1 .catalog-category-item > summary::before { content: ''; position: absolute; left: -14px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: #c0d0dd; transform: translateY(-50%); }
.catalog-category-level-1 .catalog-category-item > summary:hover { border-color: transparent; background: #f5f9fc; box-shadow: none; }
.catalog-category-level-1 .catalog-category-item > summary a { color: #526d82; font-size: 13px; font-weight: 450; line-height: 1.35; }
.catalog-category-level-1 .catalog-category-item.is-branch > summary,
.catalog-category-level-1 .catalog-category-item.is-current > summary { border-color: transparent; background: #f1f7fc; box-shadow: none; }
.catalog-category-level-1 .catalog-category-item.is-branch > summary::before,
.catalog-category-level-1 .catalog-category-item.is-current > summary::before { background: #0c80d5; }
.catalog-category-level-1 .catalog-category-item.is-branch > summary a,
.catalog-category-level-1 .catalog-category-item.is-current > summary a { color: #0875c3; font-weight: 600; }
.catalog-category-level-2 { margin: 3px 0 5px 7px; padding-left: 8px; }
.catalog-filter-panel { padding: 18px 14px 14px; border-top: 1px solid #e1e9f0; }
.catalog-filter-panel.without-category-tree { border-top: 0; }
.catalog-wp-sidebar .products-filters { width: auto; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.catalog-wp-sidebar .products-filters_list { max-height: none; }
.catalog-wp-sidebar .products-filters_spec-list { display: contents; }
.catalog-wp-sidebar .products-filters_value-item input[type="checkbox"] ~ .products-filters_item-input-marker { border-radius: 4px; }
.catalog-wp-sidebar .price-filter_input-wrapper { display: grid; grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr) auto; gap: 10px; width: 100%; }
.catalog-wp-sidebar .price-filter_input { box-sizing: border-box; width: 100%; min-width: 0; height: 42px; padding: 8px; border-radius: 10px; font-size: 16px; line-height: 1.2; font-variant-numeric: tabular-nums; appearance: textfield; }
.catalog-wp-sidebar .price-filter_input::-webkit-inner-spin-button,
.catalog-wp-sidebar .price-filter_input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.catalog-wp-sidebar .price-filter_input-wrapper .divider { width: 16px; }
.catalog-wp-sidebar .price-filter_currency { color: #9eabb3; font-size: 16px; white-space: nowrap; }
.catalog-wp-sidebar .price-filter_range-wrapper { --price-min-percent: 0%; --price-max-percent: 100%; position: relative; display: block; height: 20px; margin: 9px 0 1px; }
.catalog-wp-sidebar .price-filter_range-wrapper::before { content: ''; position: absolute; top: 8px; right: 0; left: 0; height: 3px; background: linear-gradient(to right, #9eabb3 0 var(--price-min-percent), #0066b3 var(--price-min-percent) var(--price-max-percent), #9eabb3 var(--price-max-percent) 100%); }
.catalog-wp-sidebar .price-filter_range { position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 20px; margin: 0; padding: 0; border: 0; outline: 0; background: transparent; box-shadow: none; pointer-events: none; appearance: none; }
.catalog-wp-sidebar .price-filter_range.max_price { z-index: 3; }
.catalog-wp-sidebar .price-filter_range::-webkit-slider-runnable-track { height: 3px; background: transparent; }
.catalog-wp-sidebar .price-filter_range::-webkit-slider-thumb { width: 15px; height: 15px; margin-top: -6px; border: 0; border-radius: 50%; background: #2c2c2c; box-shadow: none; cursor: grab; pointer-events: auto; appearance: none; }
.catalog-wp-sidebar .price-filter_range::-moz-range-track { height: 3px; border: 0; background: transparent; }
.catalog-wp-sidebar .price-filter_range::-moz-range-thumb { width: 15px; height: 15px; border: 0; border-radius: 50%; background: #2c2c2c; box-shadow: none; cursor: grab; pointer-events: auto; }
.catalog-wp-sidebar .price-filter_range:focus-visible::-webkit-slider-thumb { outline: 3px solid rgba(0, 102, 179, .22); outline-offset: 2px; }
.catalog-empty { grid-column: 1 / -1; padding: 60px 20px; text-align: center; color: #607387; }
.product-list-wrapper.is-loading .catalog-wp-main { opacity: .52; pointer-events: none; }
.product-list-wrapper.is-loading .catalog-wp-main::after { content: ''; position: fixed; z-index: 30; left: 50%; top: 50%; width: 36px; height: 36px; border: 3px solid #dce9f5; border-top-color: #0066b3; border-radius: 50%; animation: aero-catalog-spin .75s linear infinite; }
@keyframes aero-catalog-spin { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
    .catalog-navigation { margin-bottom: 28px; }
    .catalog-navigation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-navigation-card:nth-child(n+5) { display: none; }
    .catalog-navigation-grid.is-expanded .catalog-navigation-card { display: flex; }
    .catalog-navigation-card { min-height: 162px; }
    .catalog-wp-layout { display: block; }
    .catalog-wp-sidebar { position: fixed; z-index: 1001; inset: 0 auto 0 0; width: min(360px, 92vw); max-height: none; overflow-y: auto; border-radius: 0; transform: translateX(-105%); transition: transform .25s ease; }
    .catalog-wp-sidebar.active { transform: translateX(0); box-shadow: 10px 0 35px rgba(0, 0, 0, .18); }
    .catalog-wp-sidebar .products-filters-top { display: flex; }
    .catalog-wp-sidebar .products-filters_close { display: block; }
    .catalog-wp-main .product-sort-list { display: none !important; position: static; z-index: auto; right: auto; left: auto; width: 100%; margin: 0 0 18px; padding: 18px 10px 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    .catalog-wp-main .product-sort-list.active { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; align-items: center !important; }
    .catalog-wp-main .product-sort-list.active .product-sort { width: auto !important; min-height: 34px; justify-self: start; justify-content: flex-start; }
    .catalog-wp-main .product-sort-list.active .catalog-reset-filter.is-visible { display: inline-flex; grid-column: 1 / -1; justify-self: start; margin: 0 0 2px; }
    .product-sort-label { display: none; }
    .catalog-wp-main .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 560px) {
    .catalog-navigation-head { align-items: flex-start; }
    .catalog-navigation-head h2 { font-size: 21px; }
    .catalog-navigation-toggle { padding: 7px 11px; }
    .catalog-navigation-grid { grid-template-columns: minmax(0, 1fr); }
    .catalog-navigation-card:nth-child(n+3) { display: none; }
    .catalog-navigation-grid.is-expanded .catalog-navigation-card { display: flex; }
    .catalog-navigation-card { min-height: 148px; padding: 16px 48px 16px 15px; }
    .catalog-navigation-card.has-image .catalog-navigation-content { width: 61%; }
    .catalog-navigation-type { margin-bottom: 9px; padding: 4px 8px; }
    .catalog-navigation-card strong { font-size: 14px; line-height: 1.35; }
    .catalog-navigation-text { display: none; }
    .catalog-navigation-visual { right: 8px; width: 40%; height: 108px; }
    .catalog-navigation-visual img { max-height: 92px; }
    .catalog-navigation-arrow { right: 13px; bottom: 13px; width: 25px; height: 25px; font-size: 25px; }
    .catalog-wp-main .product-list { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (max-width: 360px) {
    .catalog-wp-main .product-sort-list.active { grid-template-columns: minmax(0, 1fr); }
}
