.catalog-wrapper:has(.catalog-container--cards) .catalog-top {
    border: 0; padding: 16px 0; background: transparent;
}
.catalog-wrapper:has(.catalog-container--cards) .catalog-top:before { display: none; }
.catalog-wrapper:has(.catalog-container--cards) .catalog-top > .container {
    display: grid; grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
    align-items: center; gap: 16px; padding-inline: clamp(16px, 1.65vw, 32px);
}
.catalog-wrapper:has(.catalog-container--cards) .catalog-top__left,
.catalog-wrapper:has(.catalog-container--cards) .catalog-top .catalog-filter { display: contents; }
.catalog-wrapper:has(.catalog-container--cards) .catalog-top .filter-toggle {
    grid-column: 1; grid-row: 1; justify-self: start; min-height: 30px;
    font-size: 16px; font-weight: 500; color: var(--color-text); white-space: nowrap;
}
.catalog-wrapper:has(.catalog-container--cards) .catalog-top .filter-similarity {
    grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px;
}
.catalog-wrapper:has(.catalog-container--cards) .catalog-top__right { grid-column: 3; grid-row: 1; justify-self: end; }
.catalog-wrapper:has(.catalog-container--cards) .catalog-top .small-filter__title,
.catalog-wrapper:has(.catalog-container--cards) .catalog-top .catalog-sorting__current {
    min-height: 30px; font-size: 16px; font-weight: 500; line-height: 1.2; color: var(--color-text);
}
.catalog-wrapper:has(.catalog-container--cards) .catalog-top .small-filter.is-open .small-filter__icon { transform: rotate(180deg); }
@media (min-width: 1201px) {
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top .small-filter__pannel { top: calc(100% + 16px); }
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top .catalog-sorting__pannel { top: calc(100% + 16px); right: 0; }
}
@media (max-width: 1200px) {
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top > .container { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top .filter-similarity { display: none; }
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top__right { grid-column: 2; }
}
@media (max-width: 575px) {
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top { padding: 12px 0; }
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top > .container { padding-inline: 12px; gap: 8px; }
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top .filter-toggle,
    .catalog-wrapper:has(.catalog-container--cards) .catalog-top .catalog-sorting__current { font-size: 12px; }
}
.catalog-container--cards .products-grid.products-grid--catalog {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;
    padding: 0 clamp(16px, 1.65vw, 32px);
}
.catalog-container--cards .products-grid.products-grid--catalog .products-grid__cell {
    width: auto; min-width: 0; padding: 0;
}
.catalog-container--cards .products-grid .products-grid__cell:before,
.catalog-container--cards .products-grid .products-grid__cell:after,
.catalog-container--cards .products-grid .products-grid__cell .product-card .product-card__main:before,
.catalog-container--cards .products-grid.products-grid--catalog .grid-banner:before,
.catalog-container--cards .products-grid.products-grid--catalog .grid-banner:after { display: none !important; }
.catalog-container--cards .product-card {
    display: flex; flex-direction: column; position: relative; min-width: 0;
    height: 100%; min-height: 0; aspect-ratio: 3 / 4; overflow: hidden;
    border-radius: 24px; background: #f1eee5;
}
.catalog-container--cards .product-card .product-card__main {
    position: static; display: flex; flex: 1 1 auto; min-height: 0;
    padding: 40px 28px 16px; background: transparent; border-radius: 0;
}
.catalog-container--cards .product-card .product-card__img {
    width: 100%; min-width: 0; min-height: 0; aspect-ratio: auto;
}
.catalog-container--cards .product-card .product-card__img img {
    width: 100%; height: 100%; max-height: 100%; object-fit: contain;
}
.catalog-container--cards .product-card .product-card__top { padding: 24px 24px 0; }
.catalog-container--cards .product-card .product-card__btns { display: flex; margin-left: auto; pointer-events: auto; }
/* Keep Bitrix's basket nodes for SKU initialization, but remove the panel from the UI. */
.catalog-container--cards .product-card .product-card__pannel { display: none !important; }
.catalog-container--cards .product-card .product-card__content {
    position: relative; display: flex; flex-direction: row; align-items: flex-start;
    justify-content: space-between; gap: 12px; width: 100%; padding: 20px 16px 24px;
    flex: 0 0 auto;
}
.catalog-container--cards .product-card .product-card__title { min-width: 0; }
.catalog-container--cards .product-card .product-card__title .product-card__title-link {
    font-size: 14px; font-weight: 500; line-height: 1.25; overflow-wrap: anywhere;
}
.catalog-container--cards .product-card .product-card__title .product-card__title-category {
    display: block; color: #999991; opacity: 1; font-weight: 500;
}
.catalog-container--cards .product-card .product-card__prices {
    flex-shrink: 0; flex-direction: column; font-size: 14px; font-weight: 500;
    line-height: 1.25; text-align: right;
}
.catalog-container--cards .product-card .label--sale { border-radius: 8px; padding: 0 8px; height: 28px; line-height: 28px; font-size: 12px; }
.catalog-container--cards .products-grid.products-grid--catalog .grid-banner {
    grid-column: span 2; width: auto; min-width: 0; height: auto; padding: 0;
}
@media (max-width: 1199px) {
    .catalog-container--cards .products-grid.products-grid--catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
    .catalog-container--cards .products-grid.products-grid--catalog { gap: 8px; padding-inline: 12px; }
    .catalog-container--cards .product-card { border-radius: 16px; aspect-ratio: 3 / 4.5; }
    .catalog-container--cards .product-card .product-card__main { padding: 40px 12px 8px; }
    .catalog-container--cards .product-card .product-card__top { padding: 10px; }
    .catalog-container--cards .product-card .product-card__content { flex-wrap: wrap; gap: 6px; padding: 12px; }
    .catalog-container--cards .product-card .product-card__title .product-card__title-link,
    .catalog-container--cards .product-card .product-card__prices { font-size: 12px; }
    .catalog-container--cards .product-card .label--sale { height: 24px; line-height: 24px; font-size: 10px; }
    .catalog-container--cards .products-grid.products-grid--catalog .grid-banner { min-height: 225px; }
}
