/* Full-width override for Aspro Lite */
/* Разворачиваем сайт на всю ширину экрана пользователя */
.maxwidth-theme { max-width: none !important; }

/* Product detail: keep big gallery visible on wide screens */
@media (min-width: 1200px) {
	.catalog-detail__top-info .detail-gallery-big-wrapper {
		/* replace aspect-ratio padding with fixed, viewport-based height */
    padding-top: 0 !important;
    height: clamp(560px, 58vh, 900px);
	}
}

/* Узкая версия блока детальной фотогалереи (как у характеристик) */
.detail-block.detail-block--narrow {
    /* +20% к базовой ширине 1200px */
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

/* Сделать и нижние вкладки/характеристики шире на 20% для консистентности */
@media (min-width: 768px) {
    .catalog-detail__bottom-info .tabs-block .tabs,
    .catalog-detail__bottom-info .tabs-block .tab-content {
        max-width: 1440px;
    }
}

/* Характеристики: по 2 группы в ряд на десктопе, 1 группа на мобиле */
.properties-group--table {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 48px;
    row-gap: 32px;
}
@media (max-width: 767px) {
    .properties-group--table {
        grid-template-columns: 1fr;
    }
}

/* "Основные": растянуть на 2 колонки и разложить пункты внутри в 2 колонки
   чтобы не оставалось пустого места справа */
@media (min-width: 768px) {
    .properties-group--table .properties-group__group[data-group-code="MAIN"] {
        grid-column: 1 / -1;
    }
    .properties-group--table .properties-group__group[data-group-code="MAIN"] .properties-group__items {
        column-count: 2;
        column-gap: 48px;
    }
    .properties-group--table .properties-group__group[data-group-code="MAIN"] .properties-group__item {
        -webkit-column-break-inside: avoid;
        break-inside: avoid;
        page-break-inside: avoid;
    }
}
@media (max-width: 767px) {
    .properties-group--table .properties-group__group[data-group-code="MAIN"] .properties-group__items {
        column-count: 1;
    }
}

/* Ozon-like: название слева, значение справа в одну строку */
.properties-group__group-name { font-weight: 700; }
.properties-group--table .properties-group__item {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
}

/* Desktop: open "Каталог" dropdown on hover (Aspro only_catalog menu) */
@media (min-width: 992px) {
    .header-menu__item:hover > .header-menu__link--only-catalog ~ .header-menu__dropdown-menu{
        opacity: 1;
        visibility: visible;
    }
}

/* Upholstery variants: show fabric color name on hover (taken from picture DESCRIPTION) */
.upholstery-variants__image-wrapper{
	position: relative;
}
.upholstery-variants__color{
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	padding: 6px 8px;
	border-radius: 8px;
	background: rgba(0,0,0,.65);
	color: #fff;
	font-size: 12px;
	line-height: 1.2;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity .15s ease, transform .15s ease;
	pointer-events: none;
}
.upholstery-variants__tile:hover .upholstery-variants__color{
	opacity: 1;
	transform: translateY(0);
}
@media (max-width: 768px){
	/* На тач-устройствах hover может не срабатывать — показываем цвет всегда */
	.upholstery-variants__color{
		opacity: 1;
		transform: none;
	}
}

/* "Old site like" catalog tiles layout */
@media (min-width: 992px) {
    /* Remove "right banner" spacing behavior */
    .header-menu__dropdown-menu--only-catalog .header-menu__wide-limiter--only-catalog{
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        padding: 32px 32px 36px;
        max-height: none;
        overflow: visible;
    }

    .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-menu--only-catalog-grid{
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 36px 28px;
        width: 100%;
    }

    @media (max-width: 1600px) {
        .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-menu--only-catalog-grid{
            grid-template-columns: repeat(5, minmax(0, 1fr));
        }
    }
    @media (max-width: 1400px) {
        .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-menu--only-catalog-grid{
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }
    }
    @media (max-width: 1200px) {
        .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-menu--only-catalog-grid{
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
    }

    .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-item{
        align-items: center;
        text-align: center;
    }

    .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-item-img--TOP{
        width: auto;
        height: auto;
        justify-content: center;
    }

    .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-item-img-inner{
        height: auto;
        width: auto;
    }

    .header-menu__dropdown-menu--only-catalog .header-menu__dropdown-item-img img{
        width: 120px;
        height: 120px;
        object-fit: contain;
    }

    /* hide arrows if any */
    .header-menu__dropdown-menu--only-catalog .header-menu__wide-submenu-right-arrow{
        display: none !important;
    }
}

/* Footer social: custom MAX messenger icon */
.footer__social .social__item.max-messenger .social__link:before {
    background: url("/images/mediacontent/MAX.svg") center center / 20px 20px no-repeat;
}
/* Убираем доп. верхний отступ — используем row-gap грид-сетки */
.properties-group--table .properties-group__group { margin-top: 0; }
/* Выровнять верх первого ряда (2 колонки) */
@media (min-width: 768px) {
    .properties-group--table .properties-group__group:nth-child(-n+2) { padding-top: 0 !important; }
}
.properties-group--table .properties-group__item::before {
    content: "";
    grid-column: 1 / -1;
    height: 0;
    border-bottom: 1px dotted var(--stroke_black, #e5e5e5);
    order: 1;
    margin-top: -1px;
}
.properties-group--table .properties-group__name-wrap { z-index: 1; background: transparent; }
.properties-group--table .properties-group__value-wrap { z-index: 1; background: transparent; }
.properties-group--table .properties-group__name,
.properties-group--table .properties-group__value {
    background: #fff var(--dark, transparent);
}
.properties-group--table .properties-group__name-wrap { padding-right: 12px; }
.properties-group--table .properties-group__value-wrap { padding-left: 12px; }
.properties-group--table .properties-group__item .properties-group__name-wrap,
.properties-group--table .properties-group__item .properties-group__value-wrap {
    width: auto !important; /* переопределяем 50% из базовых стилей */
}
.properties-group--table .properties-group__name { color: var(--light_basic_text_black, #666); }
.properties-group--table .properties-group__value { 
    padding-left: 0 !important;
    text-align: right;
    white-space: nowrap;
}
@media (max-width: 600px) {
    .properties-group--table .properties-group__item {
        grid-template-columns: 1fr auto;
    }
    .properties-group--table .properties-group__value {
        text-align: left; /* на узких — выравниваем в поток */
        white-space: normal;
    }
}

/* Footer (mobile): center payment icons row */
@media (max-width: 767px) {
    /* make pay icons block occupy full row in footer flex-wrap */
    .footer__bottom-part .footer__pays.footer__part-item {
        flex: 0 0 100%;
    }
    /* center icons inside */
    .footer__bottom-part .footer__pays {
        display: flex;
        flex-wrap: wrap;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Центрирование изображений в слайдере фотогалереи */
.big_gallery .gallery-big__swiper .swiper-slide,
.big_gallery .gallery-big__swiper .swiper-slide > a {
    display: flex;
    align-items: center;
    justify-content: center;
}
.big_gallery .gallery-big__swiper img {
    height: auto;
    max-width: 100%;
}

/* Product detail gallery: cap height by viewport so it never exceeds screen */
@media (min-width: 768px) {
    /* Aspro big gallery block (catalog element detail) */
    .gallery-item .gallery-big, /* wrapper from big_gallery.php */
    .detail-gallery-big .detail-gallery-big__inner,
    .detail-gallery-big .gallery-wrapper__aspect-ratio-container {
        padding-top: 0 !important;
        height: auto !important;
        max-height: 70vh !important;
    }
    .gallery-item .gallery-big .gallery-big__swiper,
    .gallery-item .gallery-big .gallery-big__swiper .swiper-wrapper,
    .detail-gallery-big .detail-gallery-big-slider-main,
    .detail-gallery-big .detail-gallery-big-slider-main .swiper,
    .detail-gallery-big .detail-gallery-big-slider-main .swiper-wrapper {
        height: 100% !important;
        max-height: 70vh !important;
    }
    .gallery-item .gallery-big .gallery-big__swiper .swiper-slide,
    .detail-gallery-big .detail-gallery-big__item {
        height: 100% !important;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .gallery-item .gallery-big .gallery-big__swiper img,
    .detail-gallery-big .detail-gallery-big__item img {
        max-height: 70vh !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* Detail page: prevent tall images from being cropped inside the main slider */
.detail .detail-gallery-big-slider .detail-gallery-big__item img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Catalog sections: contain images within tiles */
.sections-block__item-image-wrapper { overflow: hidden; }
.sections-block__item-image { max-width: 100%; height: auto; width: auto; object-fit: contain; }

/* Enlarge catalog section previews but keep them inside tiles */
@media (min-width: 768px) {
    /* Force override of theme sizes on desktop */
    .sections-block__item-image-wrapper--PICTURES,
    .sections-block__item-image-wrapper--ICONS {
        --section-image-width: clamp(140px, 18vw, 260px) !important;
        --section-image-height: clamp(140px, 18vw, 260px) !important;
        width: var(--section-image-width) !important;
        height: var(--section-image-height) !important;
    }
    .sections-block__item-image-wrapper--ICONS svg { width: calc(var(--section-image-width) * 0.85) !important; height: calc(var(--section-image-height) * 0.85) !important; }
}

/* Fallback for cases when grid uses normal (non-mobile) modifier: increase gap to visually balance bigger thumbs */
@media (min-width: 1200px) {
    .sections-block.normal.grid-list { grid-gap: 24px 24px; }
}

/* Laptop fix: prevent catalog section images from overflowing tiles
   Applies to medium/large screens where tiles can be narrow (e.g., 6–8 per row) */
@media (min-width: 768px) and (max-width: 1499px) {
    .sections-block__item-image-wrapper {
        max-width: 100% !important;
        width: min(var(--section-image-width, 260px), 100%) !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
    }
}

/*NOTE: This file is intended for programmers. Aspro technical support is not advised to work with him.*/

/* Examples (uncomment to use):*/

/* Expand site width */
/* body .wrapper { max-width: 1400px !important;  } */

/* Set site background image */
/* body {  background: url(image_source) top no-repeat; }

/* Hide compare button */
/* a.compare_item { display: none !important;  }*/

/* Favorite (like) icon: change to solid red on active (using original sprite path) */
.js-item-action[data-action="favorite"].active .svg {
	position: relative;
}
.js-item-action[data-action="favorite"].active .svg svg {
	visibility: hidden;
}
.js-item-action[data-action="favorite"].active .svg::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 18px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg width='18' height='16' viewBox='0 0 18 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23E31B23' fill-rule='nonzero' d='M1.381 1.82174C2.34318 0.674873 3.76177 0 5.52098 0C6.96294 0 8.14387 0.713899 8.99703 1.68332C9.84131 0.715432 11.012 0 12.4767 0C14.2583 0 15.681 0.671889 16.6405 1.8248C17.5794 2.95299 18 4.44961 18 6C18 8.44511 16.4984 10.5773 14.7999 12.2017C13.0767 13.8498 10.9846 15.1367 9.44211 15.897C9.1607 16.0357 8.83051 16.0343 8.55028 15.8932C7.01127 15.1183 4.92111 13.825 3.19921 12.1782C1.50328 10.5562 0 8.4318 0 6C0 4.44191 0.437452 2.9464 1.381 1.82174Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Hide countdown timer only on small screens to avoid desktop impact */
@media (max-width: 767px) {
    .countdown { display: none !important; }
}

/* Fabrics: list cards — make image nearly fill the tile */
.fabrics-list__item { position: relative; }
.fabrics-list__image-wrapper {
    display: block;
    height: 0;
    padding-bottom: 100%; /* 1:1 ratio */
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}
.fabrics-list__image-wrapper img.fabrics-list__image {
    position: absolute;
    inset: 0; /* no inner margins */
    width: 100%;
    height: 100%;
    object-fit: cover; /* fill and crop slightly if needed */
}
.fabrics-list__title { text-align: center; margin-top: 8px; font-size: 20px; font-weight: 600; }

/* Fabrics list: push rows below the first five a bit lower (desktop) */
@media (min-width: 1200px) {
    .fabrics-list .grid-list__item:nth-child(n+6) { margin-top: 24px; }
}

/* Fabrics docs grid on detail: dense thumbnails */
.fabrics-detail .fabrics-docs-grid__img,
.detail-block.ordered-block .fabrics-docs-grid__img { width: 100%; height: auto; object-fit: cover; border-radius: 8px; }

/* Fabrics detail: layout spacing between image and text on desktop */
@media (min-width: 1024px) {
    .fabrics-detail__content {
        column-gap: 32px;
    }
}
@media (max-width: 1023px) {
    .fabrics-detail__content {
        flex-direction: column;
    }
    .fabrics-detail__right {
        margin-top: 24px;
    }
}

/* Fabrics detail: center and scale main image (2.5x smaller -> 40%) */
.fabrics-detail__banner { display: flex; justify-content: center; }
.fabrics-detail__banner img { width: 20%; max-width: 100%; height: auto; object-fit: contain; }
@media (max-width: 767px) {
    .fabrics-detail__banner img { width: 90%; }
}
/* reduce gap between main banner and grid */
.fabrics-detail + .detail-block { margin-top: 16px !important; }

/* Responsive columns: 8–10 on desktop, 1–2 on mobile
   Using existing grid-list modifiers where possible */
@media (min-width: 1400px) {
    .grid-list--items-10-1400 { grid-template-columns: repeat(10, 1fr); }
}
@media (min-width: 1200px) and (max-width: 1399px) {
    .grid-list--items-8-1200 { grid-template-columns: repeat(8, 1fr); }
}
@media (max-width: 600px) {
    .grid-list--items-2-601 { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile: hide reviews tab and block (no reviews on mobile) */
@media (max-width: 767px) {
    /* Hide the "Отзывы" tab button (anchor itself) */
    .tabs .nav-tabs [href="#reviews"] { display: none !important; }
    /* Hide the tab pane and standalone reviews block */
    .tab-content #reviews,
    .detail-block.reviews { display: none !important; }
    /* Hide auxiliary review widgets/buttons if rendered */
    .comments-block__reviews-info,
    .show-comment,
    .blog-comment-action__link { display: none !important; }
}

/* Catalog list: move favorite/compare icons to top-right on mobile */
@media (max-width: 768px) {
    .image-list-wrapper { position: relative; }

    /* Ensure card container can be positioned against */
    .catalog-list__item,
    .catalog-block__item,
    .catalog-table__item { position: relative !important; }

    /* Force top-right placement and vertical stack with higher specificity */
    .catalog-list__item .image-list-wrapper .js-replace-icons.side-icons,
    .catalog-block__item .image-list-wrapper .js-replace-icons.side-icons,
    .catalog-table__item .image-list-wrapper .js-replace-icons.side-icons {
        position: absolute !important;
        top: 1px !important;
        right: 1px !important;
        left: auto !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        z-index: 50 !important;
        width: auto !important;
        background: rgba(255,255,255,0.92) !important;
        padding: 2px !important;
        border-radius: 10px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
        pointer-events: none;
    }

    /* Ensure children render inline and remain clickable */
    .catalog-list__item .image-list-wrapper .js-replace-icons.side-icons > *,
    .catalog-block__item .image-list-wrapper .js-replace-icons.side-icons > *,
    .catalog-table__item .image-list-wrapper .js-replace-icons.side-icons > * {
        display: inline-flex !important;
    }

    .catalog-list__item .image-list-wrapper .js-replace-icons.side-icons .js-item-action.item-action__inner.item-action__inner--sm,
    .catalog-list__item .image-list-wrapper .js-replace-icons.side-icons [class*="item-action"] .item-action__inner.item-action__inner--sm,
    .catalog-block__item .image-list-wrapper .js-replace-icons.side-icons .js-item-action.item-action__inner.item-action__inner--sm,
    .catalog-block__item .image-list-wrapper .js-replace-icons.side-icons [class*="item-action"] .item-action__inner.item-action__inner--sm,
    .catalog-table__item .image-list-wrapper .js-replace-icons.side-icons .js-item-action.item-action__inner.item-action__inner--sm,
    .catalog-table__item .image-list-wrapper .js-replace-icons.side-icons [class*="item-action"] .item-action__inner.item-action__inner--sm {
        pointer-events: auto !important;
    }

    .item-action--vertical.item-action--favorite,
    .item-action--vertical.item-action--compare {
        margin: 0 !important;
    }
}

/* Make top icon block visible up to 768px and hide bottom duplicates */
@media (max-width: 768px) {
    /* Show side-icons that are marked visible-600 even between 600–768px */
    .catalog-list__item .image-list-wrapper .js-replace-icons.visible-600.side-icons,
    .catalog-block__item .image-list-wrapper .js-replace-icons.visible-600.side-icons,
    .catalog-table__item .image-list-wrapper .js-replace-icons.visible-600.side-icons {
        display: flex !important;
    }

    /* Hide icons rendered in the bottom buttons area to avoid duplicates */
    .catalog-list__info-bottom .js-replace-icons,
    .catalog-block__info-bottom .js-replace-icons,
    .catalog-table__info-bottom .js-replace-icons {
        display: none !important;
    }

    /* Hide any non-side-icons duplicates inside popup buttons on mobile */
    .js-popup-buttons .js-replace-icons { display: none !important; }

    /* Extra safety: hide any js-replace-icons that are not side-icons within product items */
    .catalog-list__item .js-replace-icons:not(.side-icons),
    .catalog-block__item .js-replace-icons:not(.side-icons),
    .catalog-table__item .js-replace-icons:not(.side-icons) {
        display: none !important;
    }
}

/* If icons are moved outside image-list (direct child of card) */
@media (max-width: 768px) {
    .catalog-list__item > .js-replace-icons.side-icons,
    .catalog-block__item > .js-replace-icons.side-icons,
    .catalog-table__item > .js-replace-icons.side-icons {
        position: absolute !important;
        top: 2px !important;
        right: 2px !important;
        left: auto !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        z-index: 50 !important;
        width: auto !important;
        background: rgba(255,255,255,0.92) !important;
        padding: 2px !important;
        border-radius: 10px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
        pointer-events: none;
    }

    .catalog-list__item > .js-replace-icons.side-icons > *,
    .catalog-block__item > .js-replace-icons.side-icons > *,
    .catalog-table__item > .js-replace-icons.side-icons > * {
        display: inline-flex !important;
    }
}

/* Hide promo countdown (fire icon + timer) everywhere (lists, detail, fast view, sales, etc.) */
body .countdown,
body .countdown_wrapper {
    display: none !important;
}

/* Homepage: hide stray pieces inside our fabrics block only */
.FABRICS .alert.alert-warning { display: none !important; }
.FABRICS .brands-list { display: none !important; }

/* Fabrics slider: set sane slide width for auto view */
.fabrics-list__items-wrapper .swiper-slide {
    width: 260px; /* desktop base */
}
@media (min-width: 1400px) {
    .fabrics-list__items-wrapper .swiper-slide { width: 300px; }
}
@media (max-width: 600px) {
    .fabrics-list__items-wrapper .swiper-slide { width: 180px; }
}

/* Reposition slider arrows inside viewport for fabrics block */
.FABRICS .fabrics-list__slider-wrap { position: relative; }
.FABRICS .fabrics-list__slider-wrap .slider-nav {
    top: 50% !important;
    transform: translateY(-50%);
    z-index: 5;
}
.FABRICS .fabrics-list__slider-wrap .swiper-button-prev { left: 8px !important; right: auto !important; }
.FABRICS .fabrics-list__slider-wrap .swiper-button-next { right: 8px !important; left: auto !important; }
@media (max-width: 600px) {
    /* On mobile rely on swipe, hide arrows to avoid overlap */
    .FABRICS .fabrics-list__slider-wrap .slider-nav { display: none !important; }
}

/* Hover/raise effect for fabric tiles (like Services) */
.fabrics-list__item {
    transition: box-shadow .2s ease, transform .2s ease;
    margin-bottom: 10px; /* space for shadow */
    padding-bottom: 10px; /* include title inside card */
}
.fabrics-list__item:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    transform: translateY(-2px);
}

/* Allow card shadow to overflow slider container */
.FABRICS .fabrics-list__items-wrapper { overflow: visible !important; padding-bottom: 20px; }

/* Title below image (inside card) */
.fabrics-list__title { text-align: center; font-weight: 600; padding-top: 6px; }
.fabrics-list__title a { color: inherit; text-decoration: none; }

/* Extra space under fabrics block so Blog doesn't stick to it */
.container.FABRICS { margin-bottom: 32px; }

/* Home fabrics: dynamic docs grid (6 desktop / 3 mobile) */
.fabrics-list .fabrics-docs-grid {
    display: none;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-top: 12px;
}
.fabrics-docs-grid__img {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}
@media (max-width: 768px) {
    .fabrics-list .fabrics-docs-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Product detail: docs grid for upholstery block */
.upholstery-block .fabrics-docs-grid {
    display: none;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-top: 12px;
}
/* Tabs mode: same grid inside the upholstery variants block */
.upholstery-variants .fabrics-docs-grid {
    display: none;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin-top: 12px;
}

/* Product detail: upholstery variants grid (Варианты обивки) */
.upholstery-variants__grid {
    display: grid;
}
.upholstery-variants__item {
    min-width: 0;
}
.upholstery-variants__tile {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    overflow: hidden;
}
.upholstery-variants__image-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* 1:1 square */
    overflow: hidden;
}
.upholstery-variants__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.upholstery-variants__name {
    text-align: center;
    padding: 6px 4px 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* =========================
   Catalog left menu (sidebar)
   Make it wider, airier, and more readable like old site
   ========================= */
/* Wider left column on desktop */
@media (min-width: 992px) {
    .container .left_block { --width: 340px; width: var(--width); }
    .container .right_block.narrow_Y { width: calc(100% - 340px); }
}

/* Main banner (home slider): allow per-slide mobile background image via CSS vars from template
   Template sets:
   --banner-bg-desktop: url('...')
   --banner-bg-mobile:  url('...') (falls back to desktop if not provided)
*/
@media (max-width: 767px) {
    .banners-big .main-slider__item,
    .banners-big .banners-big__inner-wrap {
        background-image: var(--banner-bg-mobile, var(--banner-bg-desktop)) !important;
    }
}

/* Top-level items: larger vertical padding, taller line-height, semibold */
.left_block .sidebar .side-menu > li > .link-wrapper > a {
    padding: 10px 36px 10px 16px !important; /* -20% */
    line-height: 1.5 !important;           /* -20% */
    min-height: 36px;                      /* -20% */
    font-weight: 700;                      /* жирный */
}

/* Increase clickable area for toggler */
.left_block .sidebar .side-menu .toggle_block { width: 34px; right: 4px; }

/* Visual breathing between items */
.left_block .sidebar .side-menu > li { margin-bottom: 6px; }

/* Submenu: slightly denser than root, but still comfortable */
.left_block .sidebar .side-menu .submenu > li > .link-wrapper > a {
    padding: 7px 26px 7px 12px !important;  /* -30% */
    line-height: 1.3 !important;            /* -30% */
    min-height: 26px;                       /* -30% */
    font-weight: 400 !important;             /* подразделы НЕ жирные */
}
.left_block .sidebar .side-menu .submenu .submenu > li > .link-wrapper > a {
    padding: 6px 22px 6px 10px !important;  /* -30% от 8px */
    line-height: 1.2 !important;            /* компактнее */
    min-height: 24px;                       /* -30% */
    font-weight: 400 !important;             /* подразделы НЕ жирные */
}

/* Keep active item clearly visible */
.left_block .sidebar .side-menu li.active > .link-wrapper a { font-weight: 700 !important; }

/* For "tree" catalog menu template: nested levels are also `.side-menu` inside `.submenu-wrapper`.
   Make ALL submenu links normal weight (including active) so only top-level stays bold. */
.left_block .sidebar .submenu-wrapper .link-wrapper > a { font-weight: 400 !important; }
.left_block .sidebar .submenu-wrapper li.active > .link-wrapper a { font-weight: 400 !important; }

/* Mobile: when sidebar is shown (e.g., filter/menu overlays), keep generous spacing */
@media (max-width: 991px) {
    .left_block .sidebar .side-menu > li > .link-wrapper > a { padding-top: 10px; padding-bottom: 10px; }
    .left_block .sidebar .side-menu .submenu > li > .link-wrapper > a { padding-top: 7px; padding-bottom: 7px; }
}

/* Desktop-only: reduce vertical "line spacing" in the menu by ~25% */
@media (min-width: 992px) {
    /* Top-level */
    .left_block .sidebar .side-menu > li > .link-wrapper > a {
        padding-top: calc(10px * 0.75) !important;   /* -25% */
        padding-bottom: calc(10px * 0.75) !important;/* -25% */
        line-height: 1.125 !important; /* 1.5 -> 1.125 (-25%) */
        min-height: calc(36px * 0.75) !important;    /* -25% */
    }

    /* Sublevels (menu template uses `.submenu`; tree template nests `.side-menu` in `.submenu-wrapper`) */
    .left_block .sidebar .side-menu .submenu > li > .link-wrapper > a,
    .left_block .sidebar .submenu-wrapper .side-menu > li > .link-wrapper > a {
        padding-top: calc(7px * 0.75) !important;    /* -25% */
        padding-bottom: calc(7px * 0.75) !important; /* -25% */
        line-height: 0.975 !important; /* 1.3 -> 0.975 (-25%) */
        min-height: calc(26px * 0.75) !important;    /* -25% */
    }

    .left_block .sidebar .side-menu .submenu .submenu > li > .link-wrapper > a,
    .left_block .sidebar .submenu-wrapper .submenu-wrapper .side-menu > li > .link-wrapper > a {
        padding-top: calc(6px * 0.75) !important;    /* -25% */
        padding-bottom: calc(6px * 0.75) !important; /* -25% */
        line-height: 0.9 !important;   /* 1.2 -> 0.9 (-25%) */
        min-height: calc(24px * 0.75) !important;    /* -25% */
    }
}

/* YaPay / Split widget on product detail */
.catalog-detail__yapay-split{
    margin-top: 14px;
}

/* Главная: MIDDLE_ADV — слайдер до 4 карточек (trend_quad_slider, см. local/docs/slider-four-cards-aspro-lite.md) */
.trend-quad-slider-wrap {
    position: relative;
    margin-bottom: 2rem;
}
.trend-quad-slider-wrap .trend-quad-slider {
    overflow: hidden;
}
.trend-quad-slider__card {
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 280px;
}
@media (min-width: 992px) {
    .trend-quad-slider__card {
        min-height: 420px;
    }
}
.trend-quad-slider__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.trend-quad-slider__media-link--fill {
    display: block;
    height: 100%;
}
.trend-quad-slider__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.55) 0%,
        rgba(0, 0, 0, 0.15) 45%,
        transparent 70%
    );
    color: #fff;
    pointer-events: none;
    z-index: 2;
}
.trend-quad-slider__overlay a,
.trend-quad-slider__overlay .btn {
    pointer-events: auto;
}
.trend-quad-slider__kicker {
    margin: 0 0 0.35rem;
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.trend-quad-slider__title {
    margin: 0 0 0.5rem;
    font-weight: 600;
    line-height: 1.15;
}
.trend-quad-slider__text {
    margin: 0 0 1rem;
    opacity: 0.95;
    max-width: 22rem;
}
.trend-quad-slider__actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    max-width: 220px;
}
.trend-quad-slider__controls {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 5;
    display: flex;
    align-items: center;
    gap: 12px;
    pointer-events: none;
}
.trend-quad-slider__controls .swiper-pagination,
.trend-quad-slider__controls .slider-nav {
    pointer-events: auto;
}
.trend-quad-slider__pagination.swiper-pagination-horizontal {
    position: static;
    width: auto;
    margin: 0;
    display: flex;
    align-items: center;
}
.trend-quad-slider__arrows {
    display: flex;
    gap: 8px;
}
.trend-quad-slider:not(.swiper-initialized) + .trend-quad-slider__controls {
    opacity: 0;
    visibility: hidden;
}
@media (max-width: 600px) {
    .trend-quad-slider__controls {
        right: 8px;
        bottom: 8px;
    }
}
/* ==========================================================================
   Aspro Lite — main banner split layout (4 images per slide)
   Append this block to: bitrix/templates/aspro-lite/css/custom.css
   ========================================================================== */

/* Main banner mobile/tablet isolated styles (split + normal), desktop untouched */
@media (max-width: 991px) {
    /* Split layout is desktop-only; on mobile/tablet switch to fallback content block */
    .banners-big.front .main-slider .main-slider__item.main-slider__item--split .main-banner-split {
        display: none !important;
    }

    .banners-big.front .main-slider .main-slider__item.main-slider__item--split .main-banner-split-fallback {
        display: block !important;
    }

    /* Make fallback image wrapper visible even for adaptive-1 where theme hides it */
    .banners-big.front .main-slider .main-slider__item.main-slider__item--split .main-banner-split-fallback .banners-big__img-wrapper {
        display: block !important;
        width: 100% !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        height: auto !important;
    }

    .banners-big.front .main-slider .main-slider__item.main-slider__item--split .main-banner-split-fallback .banners-big__img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
    }

    .banners-big.front .main-slider .main-slider__item.main-slider__item--split .main-banner-split-fallback .banners-big__text {
        width: 100% !important;
    }
}
