/* Selected border radii from dev.istore-d.ru. Load after the existing Aspro CSS. */

/* Header search, including the sticky header. */
.header_wrap .search-wrapper,
.header-wrapper.fix-logo2 .search-wrapper {
    border: 1px solid #e6ebf1 !important;
    border-radius: 999px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.header_wrap .search-wrapper .search-input,
.header_wrap .search-wrapper .form-control,
.header-wrapper.fix-logo2 .search-wrapper .search-input {
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Main navigation dropdown and hovered top-level item. */
.mega-menu .dropdown-menu {
    border: 1px solid #dde5e3 !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 48px rgba(17, 24, 39, .12) !important;
    overflow: hidden;
}

.mega-menu .dropdown-menu a {
    border-radius: 14px !important;
}

.menu-row.middle-block .mega-menu table td:not(.search-item) .wrap > a:hover,
.menu-row.middle-block .mega-menu table td:not(.search-item):hover .wrap > a,
.menu-row.middle-block .mega-menu table td:not(.search-item).active .wrap > a {
    border-radius: 14px !important;
}

/* Catalog sidebar and its nested menu. */
.menu_top_block.catalog_block {
    border-radius: 28px !important;
}

.wrapper1 .menu_top_block.catalog_block a.icons_fa.rounded2,
.menu_top_block.catalog_block a.icons_fa {
    border-radius: 18px !important;
}

.menu_top_block.catalog_block a.icons_fa .image {
    border-radius: 14px !important;
}

.menu_top_block.catalog_block a.icons_fa .image img {
    border-radius: 12px !important;
}

.menu_top_block.catalog_block .dropdown-menu .menu-wrapper li,
.menu_top_block.catalog_block .dropdown-menu .menu-wrapper li > a,
.menu_top_block.catalog_block .dropdown > li,
.menu_top_block.catalog_block .dropdown > li > a,
.menu_top_block.catalog_block .dropdown > li > a.section {
    border-radius: 12px !important;
}

.bx_filter.bx_filter_vertical {
    border-radius: 12px !important;
}

/* Catalog and related-product cards. The dev CSS resolves to 22px at all widths. */
.catalog_block .item,
.catalog_item,
.item_wrap,
.item-views .item {
    border-radius: 22px !important;
}

/* Keep only the inner search field's outline. */
.header_wrap .search-wrapper,
.header-wrapper.fix-logo2 .search-wrapper {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Separate the catalog content from the left sidebar on wider screens. */
@media (min-width: 992px) {
    .wrapper_inner .container_inner.flexbox--row-reverse > .right_block.catalog_page {
        padding-left: 14px !important;
        box-sizing: border-box;
    }
}

/* Inset each catalog card without changing the four-column grid. */
body .right_block.catalog_page .catalog_block.items.row.margin0 > .item_block.item.catalog-block-view__item {
    padding: 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

body .right_block.catalog_page .catalog_block.items.row.margin0 > .item_block.item.catalog-block-view__item > .catalog_item_wrapp {
    border: 1px solid #e6ebf1 !important;
    border-radius: 18px !important;
    background: #fff !important;
}

body .right_block.catalog_page .catalog_block.items.row.margin0 > .item_block.item.catalog-block-view__item > .catalog_item_wrapp > .inner_wrap {
    border-radius: 18px !important;
}

/* A small gap between top-level catalog sidebar rows. */
.menu_top_block.catalog_block .slide-block__body > ul.menu.dropdown > li + li {
    margin-top: 9px !important;
}

/* The theme removes the bottom border from these links; restore the full outline. */
.menu_top_block.catalog_block .slide-block__body > ul.menu.dropdown > li > a.icons_fa {
    border-bottom: 1px solid #ececec !important;
}

/* Match the dev catalog subsection tiles without affecting product cards. */
.catalog_section_list .section_item {
    border-radius: 24px !important;
    padding: 16px 20px !important;
    height: 100% !important;
    box-sizing: border-box;
}

.catalog_section_list .section_item .image {
    padding-bottom: 0 !important;
}

.catalog_section_list.flexbox {
    gap: 16px;
}

.catalog_section_list .item_block {
    margin: 0 !important;
    width: calc(50% - 8px) !important;
}

.catalog_section_list .section_item li.name a span,
.catalog_section_list .section_item li.name {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

.catalog_section_list .section_item_inner,
.catalog_section_list .section_item_inner tr {
    height: 100%;
}

.catalog_section_list .section_item td.section_info {
    vertical-align: middle !important;
}

/* Keep two compact subsection tiles per row on phones. */
@media (max-width: 600px) {
    .catalog_section_list.flexbox {
        gap: 12px;
    }

    .catalog_section_list .item_block {
        width: calc(50% - 6px) !important;
        min-width: 0;
        padding: 0 !important;
    }

    .catalog_section_list .section_item {
        padding: 12px 8px !important;
        border-radius: 18px !important;
    }

    .catalog_section_list .section_item li.name,
    .catalog_section_list .section_item li.name a span {
        white-space: normal !important;
        overflow: visible;
        text-overflow: clip;
    }
}

/* Give product photos a little more visual height on phones without distorting them. */
@media (max-width: 600px) {
    body .right_block.catalog_page .catalog_block .section-gallery-wrapper__item img {
        transform: scale(1.07);
        transform-origin: center center;
    }
}

/* Tighten the space above and below the cart button in mobile product cards. */
@media (max-width: 600px) {
    body .right_block.catalog_page .catalog_block .catalog_item_wrapp > .inner_wrap {
        padding-bottom: 14px !important;
    }

    body .right_block.catalog_page .catalog_block .catalog_item_wrapp .item_info {
        padding-bottom: 16px !important;
    }
}

/* Use the mobile page gutters to widen the two-column product grid. */
@media (max-width: 600px) {
    body .right_block.catalog_page .catalog_block.items.row.margin0 {
        width: calc(100% + 22px) !important;
        margin-left: -11px !important;
    }

    body .right_block.catalog_page .catalog_block.items.row.margin0 > .item_block.item.catalog-block-view__item {
        padding: 5px !important;
    }

    body .right_block.catalog_page .catalog_block .catalog_item_wrapp .footer_button .button_block .btn {
        border-radius: 999px !important;
    }
}

/* Раскрытый подсписок раздела в левом меню каталога (Mac → MacBook Pro/Air/...). */
.menu_top_block.catalog_block .slide-block__body > ul.menu.dropdown > li.v_bottom > ul.dropdown {
    margin-top: 6px !important;
    border: 1px solid #ececec !important;
    border-radius: 18px !important;
    overflow: hidden;
}

/* Кнопки компактного фильтра над товарами (Цена, Модель, Цвет...). */
.bx_filter.compact .bx_filter_parameters_box .bx_filter_parameters_box_title:not(.filter_title) {
    border-radius: 999px !important;
}

/* Эффект наведения на раздел в выпадающем меню шапки (AirPods → AirPods Pro и т.п.): лёгкое увеличение. */
@media (hover: hover) {
    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li {
        transition: transform .2s ease;
        transform-origin: center;
    }

    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li:hover {
        transform: scale(1.07);
    }

    /* Полоска под названием раздела при наведении. */
    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li {
        position: relative;
    }

    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li::after {
        content: "";
        position: absolute;
        left: 0;
        right: 20px;
        bottom: -8px;
        height: 1px;
        border-radius: 2px;
        background: #1D1D1F;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform .25s ease;
        pointer-events: none;
    }

    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li.has_img::after {
        left: 80px;
    }

    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li:hover::after {
        transform: scaleX(1);
    }
}

/* Плитки подразделов на странице раздела (AirTag, Трекеры...): лёгкое увеличение и полоска под названием. */
@media (hover: hover) {
    .catalog_section_list .section_item {
        transition: transform .2s ease;
    }

    .catalog_section_list .section_item:hover {
        transform: scale(1.03);
    }

    .catalog_section_list .section_item li.name a span {
        padding-bottom: 3px;
        background-image: linear-gradient(#1D1D1F, #1D1D1F);
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
        transition: background-size .25s ease;
    }

    .catalog_section_list .section_item:hover li.name a span {
        background-size: 100% 1px;
    }
}

/* Блок «Самое популярное» (summer-selection): сплошной белый фон вместо серого по краям. */
.drag-block.custom-html-block-wrap:has(> .summer-selection) {
    display: flow-root;
    background: #fff !important;
}

/* Мобильное меню: подразделы iPhone / MacBook / iPad раскрываются вниз (см. js/redesign/mobile-menu-downdrop.js). */
#mobilemenu .top-mobile-menu > ul.top > li > a.parent[href^="/catalog/"]:not([href="/catalog/"]) .arrow .svg {
    transform: rotate(.25turn);
    transition: transform .2s ease;
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > a.parent .arrow .svg {
    transform: rotate(-.25turn);
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown {
    display: block;
    position: relative;
    left: auto;
    top: auto;
    padding: 0 0 0 19px;
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop > .dropdown > .menu_back,
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop > .dropdown > .menu_title {
    display: none;
}

/* Мобильное меню: подразделы в раскрытом вниз списке — отдельные скруглённые карточки с отступами. */
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown {
    padding: 4px 16px 14px;
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop > .dropdown > li {
    border-bottom: 0;
    margin-bottom: 8px;
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop > .dropdown > li:last-child {
    margin-bottom: 0;
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop > .dropdown > li > a.top-mobile-menu__link {
    padding: 10px 14px;
    border: 1px solid #ececec;
    border-radius: 16px;
    background: #fff;
}

/* Мобильное меню: родительские разделы каталога (пункты с иконкой) — скруглённые карточки с отступами. */
#mobilemenu .top-mobile-menu > ul.top > li:has(> a.top-mobile-menu__link) {
    border-bottom: 0;
    padding: 0 16px;
    margin: 8px 0;
}

#mobilemenu .top-mobile-menu > ul.top > li > a.top-mobile-menu__link {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 14px;
    border: 1px solid #ececec;
    border-radius: 16px;
    overflow: hidden;
}

/* Подразделы под карточкой раздела: той же ширины, что и карточка раздела, по центру меню. */
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown {
    padding: 8px 0 4px;
}

/* Лёгкий отклик на нажатие. */
#mobilemenu .top-mobile-menu > ul.top > li > a.top-mobile-menu__link,
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop > .dropdown > li > a.top-mobile-menu__link {
    transition: transform .15s ease, background-color .15s ease;
}

#mobilemenu .top-mobile-menu > ul.top > li > a.top-mobile-menu__link:active,
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop > .dropdown > li > a.top-mobile-menu__link:active {
    transform: scale(.98);
    background-color: #f7f7f8;
}

/* Анимация раскрытия: подразделы по очереди «выплывают» сверху (только opacity и transform — без нагрузки). */
@keyframes istDropIn {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(.97);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li {
    animation: istDropIn .32s cubic-bezier(.2, .8, .3, 1) both;
    animation-delay: .24s;
}

#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(3) { animation-delay: 0s; }
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(4) { animation-delay: .03s; }
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(5) { animation-delay: .06s; }
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(6) { animation-delay: .09s; }
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(7) { animation-delay: .12s; }
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(8) { animation-delay: .15s; }
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(9) { animation-delay: .18s; }
#mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li:nth-child(10) { animation-delay: .21s; }

@media (prefers-reduced-motion: reduce) {
    #mobilemenu .top-mobile-menu > ul.top > li.ist-downdrop--open > .dropdown > li {
        animation: none;
    }
}

/* Каталог на телефонах: блок с фото товара чуть больше — растягиваем его на 18px в стороны за счёт отступов карточки. */
@media (max-width: 600px) {
    body .right_block.catalog_page .catalog_block .catalog_item_wrapp .image_wrapper_block {
        width: calc(100% + 36px) !important;
        margin-left: -18px !important;
        margin-right: -18px !important;
    }
}

@media (max-width: 600px) {
    /* «Избранное» слева от кнопки «В корзину» (перенос — js/redesign/catalog-card-mobile.js). */
    body .catalog_block .counter_wrapp.ist-has-wish {
        display: flex !important;
        align-items: center;
        gap: 8px;
        overflow: visible;
    }

    body .catalog_block .counter_wrapp.ist-has-wish > .button_block {
        float: none;
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    /* Тема в компактном каталоге скрывает всё в .counter_wrapp, кроме кнопки корзины, правилом
       .compact-catalog .ajax_load.block .catalog_item .footer_button .counter_wrapp>div:not(.button_block){display:none!important}
       — перебиваем более специфичным селектором. */
    html body .compact-catalog .ajax_load.block .catalog_item .footer_button .counter_wrapp.ist-has-wish > div.ist-wish.wish_item_button,
    body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish {
        display: block !important;
        float: none;
        flex: 0 0 auto;
        width: 44px;
        height: 44px;
        margin: 0;
    }

    body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        border: 1px solid #e5e5e5;
        border-radius: 999px !important;
        background: #fff;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* Плитки подразделов: у контейнера есть класс .row, чьи псевдоэлементы-clearfix (::before/::after, display: table)
   во flex-сетке с gap становятся пустыми ячейками — первая плитка съезжала вправо и оставалась одна в ряду.
   Во flex-вёрстке clearfix не нужен, отключаем его только здесь. */
.catalog_section_list.flexbox::before,
.catalog_section_list.flexbox::after {
    content: none;
    display: none;
}

/* Каталог на телефонах: строка «Избранное + В корзину» на всю ширину карточки, корзина растягивается,
   сердечко — ровный круг с видимой иконкой. */
@media (max-width: 600px) {
    html body .catalog_block .footer_button .counter_wrapp.ist-has-wish {
        width: 100% !important;
        max-width: none !important;
        float: none !important;
    }

    html body .catalog_block .footer_button .counter_wrapp.ist-has-wish > .button_block,
    html body .catalog_block .footer_button .counter_wrapp.ist-has-wish > .button_block .btn {
        width: 100% !important;
        max-width: none !important;
    }

    html body .catalog_block .footer_button .counter_wrapp.ist-has-wish > .button_block {
        flex: 1 1 auto !important;
    }

    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish {
        border-radius: 50%;
        aspect-ratio: 1 / 1;
    }

    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item {
        border-radius: 50% !important;
        padding: 0 !important;
    }

    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item .svg,
    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item svg {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 20px !important;
        height: 20px !important;
        margin: 0 !important;
        position: static !important;
    }
}

/* Каталог на телефонах: строка «Избранное + В корзину» шире — растягиваем на 16px в стороны за счёт отступов карточки. */
@media (max-width: 600px) {
    html body .catalog_block .footer_button .counter_wrapp.ist-has-wish {
        width: calc(100% + 32px) !important;
        margin-left: -16px !important;
        margin-right: -16px !important;
    }
}

/* Индикатор галереи (js/redesign/catalog-gallery-swipe-v5.js) — под фото, чтобы не налезал на изображение. */
html body .catalog_block .image_wrapper_block > .ist-gallery-dots {
    bottom: -10px !important;
}

/* Каталог на телефонах: «Избранное» рядом с корзиной — видимое состояние.
   Иконка темы белая (fill:#fff), цвет ей давала обёртка .like_icons, из которой кнопку перенесли, — задаём сами.
   Тема помечает добавленный товар классами «added in». */
@media (max-width: 600px) {
    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item {
        transition: background-color .2s ease, border-color .2s ease, transform .15s ease;
    }

    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item svg path {
        fill: #8a8a8f !important;
        transition: fill .2s ease;
    }

    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item:active {
        transform: scale(.9);
    }

    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item.added {
        background: #D53851 !important;
        border-color: #D53851 !important;
    }

    html body .catalog_block .counter_wrapp.ist-has-wish > .ist-wish .wish_item.added svg path {
        fill: #fff !important;
    }
}

/* Мобильная шапка: когда она закреплена (при прокрутке тема добавляет .fixed), фон полупрозрачный с размытием. */
@media (max-width: 991px) {
    #mobileheader .mobileheader-v1 {
        transition: background-color .25s ease;
    }

    body .wrapper1.mfixed_Y > div#mobileheader.fixed .mobileheader-v1 {
        background: rgba(255, 255, 255, .72) !important;
        -webkit-backdrop-filter: saturate(180%) blur(14px);
        backdrop-filter: saturate(180%) blur(14px);
    }
}

/* Каталог на телефонах: стикеры («Новинка», «Подарок при доставке»...) выше на 14px и на 4px правее от рамки.
   transform не конфликтует с правилами темы для top/left. */
@media (max-width: 600px) {
    html body .catalog_block .image_wrapper_block .stickers {
        transform: translate(4px, -14px) !important;
    }
}

/* Каталог на телефонах: стикеры — просто текст (без заливки и рамки), крупнее и жирнее; цвет стикера — цвет текста. */
@media (max-width: 600px) {
    html body .catalog_block .image_wrapper_block .stickers [class*="sticker_"] {
        background: none !important;
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 0 10px 2px 0 !important;
        font-size: 17px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        color: #1d1d1f !important;
    }

    html body .catalog_block .image_wrapper_block .stickers .sticker_novinka {
        color: #2f9e44 !important;
    }

    html body .catalog_block .image_wrapper_block .stickers [class*="sticker_podarok"] {
        color: #7a1f2b !important; /* тёмно-бордовый */
    }

    html body .catalog_block .image_wrapper_block .stickers [class*="sticker_khit"],
    html body .catalog_block .image_wrapper_block .stickers .sticker_hit {
        color: #1f7ac0 !important;
    }
}

/* Десктоп и планшеты: стикеры («Новинка», «Подарок при доставке»...) — круглые «таблетки».
   На телефонах (до 600px) стикеры оформлены текстом — см. правила выше. */
@media (min-width: 601px) {
    html body .stickers [class*="sticker_"] {
        border-radius: 999px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        white-space: nowrap !important; /* «Подарок при доставке» — в одну строку */
    }
}

/* Десктоп и планшеты: стикеры в карточках каталога выше на 18px и левее на 17px. */
@media (min-width: 601px) {
    html body .catalog_block .image_wrapper_block .stickers {
        transform: translate(-17px, -18px) !important;
    }
}

/* Выпадающее меню шапки: полоска при наведении — от левого края фото до конца названия, под фото и названием.
   Полоска теперь рисуется на ссылке (по ширине текста), старая полоска на всём пункте отключена. */
@media (hover: hover) {
    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li::after {
        display: none !important;
    }

    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li > a {
        display: inline-block !important;
        position: relative;
        vertical-align: top;
        max-width: 100%;
    }

    /* Фото: 60px высотой, отступ сверху 4px — ссылка не ниже фото, чтобы полоска шла под обоими. */
    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li.has_img > a {
        min-height: 64px;
    }

    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li > a::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -6px;
        height: 1px;
        border-radius: 1px;
        background: #1D1D1F;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform .25s ease;
        pointer-events: none;
    }

    /* Начало полоски — левый край фото (фото стоит на 80px левее текста). */
    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li.has_img > a::after {
        left: -80px;
    }

    .menu-row .mega-menu table td.wide_menu > .wrap > .dropdown-menu ul.menu-wrapper > li:hover > a::after {
        transform: scaleX(1);
    }
}

/* Плитки подразделов: вложенные разделы («Беспроводные», «Дуо Макс»...) — та же полоска 1px при наведении.
   Пока курсор на вложенной ссылке, главное название плитки не подчёркивается. */
@media (hover: hover) {
    .catalog_section_list .section_item li.sect a {
        padding-bottom: 2px;
        background-image: linear-gradient(#1D1D1F, #1D1D1F);
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
        transition: background-size .25s ease, color .2s ease;
    }

    .catalog_section_list .section_item li.sect a:hover {
        background-size: 100% 1px;
        color: #1D1D1F;
    }

    .catalog_section_list .section_item:hover:has(li.sect a:hover) li.name a span {
        background-size: 0 1px;
    }
}

/* Левое меню каталога: подпункты раскрытого раздела («Зарядные устройства», «Пауэрбанки»...) —
   та же полоска 1px при наведении. */
@media (hover: hover) {
    .menu_top_block.catalog_block .slide-block__body > ul.menu.dropdown > li > ul.dropdown a > span {
        padding-bottom: 2px;
        background-image: linear-gradient(#1D1D1F, #1D1D1F);
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
        transition: background-size .25s ease, color .2s ease;
    }

    .menu_top_block.catalog_block .slide-block__body > ul.menu.dropdown > li > ul.dropdown a:hover > span {
        background-size: 100% 1px;
        color: #1D1D1F;
    }
}

/* Страница товара: вкладки «Описание», «Характеристики», «Оплата», «Условия доставки» — круглые «таблетки».
   Активная — тёмная, как активный пункт верхнего меню; полоска темы сверху у активной вкладки убрана. */
.tabs-block .tabs .nav-tabs > li {
    border-radius: 999px !important;
    overflow: hidden;
}

.tabs-block .tabs .nav-tabs > li > a {
    border-radius: 999px !important;
    transition: background-color .2s ease, color .2s ease;
}

.tabs-block .tabs .nav-tabs > li.active::after {
    display: none !important;
}

.tabs-block .tabs .nav-tabs > li.active,
.tabs-block .tabs .nav-tabs > li.active > a,
.tabs-block .tabs .nav-tabs > li.active > a:hover,
.tabs-block .tabs .nav-tabs > li.active > a:focus {
    background: #1D1D1F !important;
    border-color: #1D1D1F !important;
    color: #fff !important;
}

/* Страница товара: выбор модификаций. Память и SIM (текстовые варианты) — «таблетки»,
   другие цвета модели (картинки) — квадраты со скруглением 14px. */
.sku-props-value.sku-props-value--text {
    border-radius: 999px !important;
    padding-left: 18px;
    padding-right: 18px;
}

.sku-props-value.sku-props-value--pict {
    border-radius: 14px !important;
    overflow: hidden;
}

.sku-props-value.sku-props-value--pict .sku-props-value__image {
    border-radius: 10px;
}

/* Тизеры (главная, страница товара): при наведении на тизер — полоска 1px под названием, как в меню и плитках. */
@media (hover: hover) {
    .item-views.tizers .item .title a > span {
        padding-bottom: 2px;
        background-image: linear-gradient(#1D1D1F, #1D1D1F);
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
        transition: background-size .25s ease, color .2s ease;
    }

    .item-views.tizers .item:hover .title a > span {
        background-size: 100% 1px;
        color: #1D1D1F;
    }
}

/* Главная, блок «Каталог товара»: промежутки 16px между плитками разделов (десктоп и планшеты).
   Здесь flex-сетка — это .row внутри .catalog_section_list, поэтому общее правило с gap сюда не доставало. */
@media (min-width: 601px) {
    .front_sections_only .catalog_section_list > .row.flexbox {
        gap: 16px;
        flex-wrap: wrap;
    }

    .front_sections_only .catalog_section_list > .row.flexbox::before,
    .front_sections_only .catalog_section_list > .row.flexbox::after {
        content: none;
        display: none;
    }

    .front_sections_only .catalog_section_list > .row.flexbox > .item_block {
        padding: 0 !important;
    }
}

/* Главная, блок «Каталог товара» на телефонах: плитки одна под другой с промежутком 10px
   и раскрываются как выпадающие списки (js/redesign/home-sections-accordion.js). */
@media (max-width: 600px) {
    .front_sections_only .catalog_section_list > .row.flexbox {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .front_sections_only .catalog_section_list > .row.flexbox::before,
    .front_sections_only .catalog_section_list > .row.flexbox::after {
        content: none;
        display: none;
    }

    .front_sections_only .catalog_section_list > .row.flexbox > .item_block {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .front_sections_only .catalog_section_list .section_item .section_info {
        flex: 1 1 auto;
        min-width: 0;
    }

    /* Свёрнуто: только фото и название, справа стрелка (если есть вложенные разделы). */
    .front_sections_only .catalog_section_list .section_item li.sect {
        display: none !important;
    }

    .front_sections_only .catalog_section_list .section_item li.name {
        position: relative;
        padding-right: 28px;
        margin-bottom: 0;
    }

    .front_sections_only .catalog_section_list .section_item:has(li.sect:not(.more_items)) li.name::after {
        content: "";
        position: absolute;
        right: 6px;
        top: 50%;
        width: 8px;
        height: 8px;
        margin-top: -6px;
        border-right: 1.5px solid #1D1D1F;
        border-bottom: 1.5px solid #1D1D1F;
        transform: rotate(45deg);
        transition: transform .25s ease, margin-top .25s ease;
    }

    .front_sections_only .catalog_section_list .section_item.ist-open li.name::after {
        transform: rotate(-135deg);
        margin-top: -2px;
    }

    /* Раскрыто: все вложенные разделы (включая скрытые за «Еще») столбиком, по очереди выплывают. */
    .front_sections_only .catalog_section_list .section_item.ist-open li.name {
        margin-bottom: 6px;
    }

    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:not(.more_items) {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        animation: istDropIn .3s cubic-bezier(.2, .8, .3, 1) both;
    }

    .front_sections_only .catalog_section_list .section_item li.sect::before,
    .front_sections_only .catalog_section_list .section_item li.sect::after {
        content: none !important;
    }

    .front_sections_only .catalog_section_list .section_item.ist-open li.sect a {
        display: block;
        padding: 9px 0;
        border-top: 1px solid #f0f0f0;
        font-size: 14px;
        color: #1D1D1F;
    }

    .front_sections_only .catalog_section_list .section_item.ist-open li.sect.ist-all a {
        font-weight: 600;
    }

    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:nth-child(3) { animation-delay: .03s; }
    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:nth-child(4) { animation-delay: .06s; }
    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:nth-child(5) { animation-delay: .09s; }
    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:nth-child(6) { animation-delay: .12s; }
    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:nth-child(7) { animation-delay: .15s; }
    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:nth-child(8) { animation-delay: .18s; }
    .front_sections_only .catalog_section_list .section_item.ist-open li.sect:nth-child(n+9) { animation-delay: .21s; }

    @media (prefers-reduced-motion: reduce) {
        .front_sections_only .catalog_section_list .section_item.ist-open li.sect {
            animation: none;
        }
    }
}

/* Выпадающий список в хлебных крошках: полоска 1px под пунктом при наведении, как в остальных меню. */
@media (hover: hover) {
    .breadcrumbs__dropdown .breadcrumbs__dropdown-item {
        width: fit-content;
        background-image: linear-gradient(#1D1D1F, #1D1D1F);
        background-repeat: no-repeat;
        background-position: left bottom 3px;
        background-size: 0 1px;
        transition: background-size .25s ease, color .2s ease;
    }

    .breadcrumbs__dropdown .breadcrumbs__dropdown-item:hover {
        background-size: 100% 1px;
        color: #1D1D1F;
    }
}

/* Верхнее меню: молния у «Акций» — тёмная на светлом фоне, белая при наведении и у активного пункта
   (тема красила её белым в расчёте на цветной фон меню, и без наведения её не было видно). */
.menu-row .mega-menu table td .wrap > a .svg-inline-icon_discount svg path {
    fill: #1D1D1F !important;
    transition: fill .2s ease;
}

.menu-row .mega-menu table td:not(.search-item):hover .wrap > a .svg-inline-icon_discount svg path,
.menu-row .mega-menu table td:not(.search-item).active .wrap > a .svg-inline-icon_discount svg path,
.menu-row .mega-menu table td .wrap > a:hover .svg-inline-icon_discount svg path {
    fill: #fff !important;
}

/* Всплывающее окно корзины при наведении: скруглённое окно и кнопки-«таблетки» с отступами. */
.basket_hover_block {
    border-radius: 22px !important;
    overflow: hidden;
}

.basket_hover_block .tabs_content .buttons {
    display: flex;
    gap: 10px;
    padding: 14px 16px 16px;
    overflow: visible;
}

.basket_hover_block .tabs_content .buttons > div {
    flex: 1 1 0;
    float: none !important;
    min-width: 0;
}

.basket_hover_block .tabs_content .buttons a,
.basket_hover_block .tabs_content .buttons > div:first-of-type a,
.basket_hover_block .tabs_content .buttons > div:last-of-type a {
    padding: 14px 18px !important;
    border-radius: 999px !important;
    text-align: center;
}

.basket_hover_block .tabs_content .buttons .basket_back a {
    border: 1px solid #e5e5e5 !important;
    background: #fff;
}

/* Страница товара, «С этим товаром покупают» (слайдер): карточки — отдельные скруглённые плитки, как в каталоге. */
.expandables-block .catalog_block.swiper .swiper-slide > .item_block {
    padding: 6px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box;
    height: 100%;
}

.expandables-block .catalog_block.swiper .swiper-slide > .item_block > .catalog_item_wrapp {
    border: 1px solid #e6ebf1 !important;
    border-radius: 18px !important;
    background: #fff !important;
    overflow: hidden;
    height: 100%;
}

.expandables-block .catalog_block.swiper .swiper-slide > .item_block > .catalog_item_wrapp > .inner_wrap {
    border-radius: 18px !important;
    box-shadow: none !important;
}

/* Всплывающее уведомление справа вверху («В корзине», «В избранном»...): скруглённое окно. */
.notice-surface .notice {
    border-radius: 22px !important;
    overflow: hidden;
}

.notice-surface .notice__image img {
    border-radius: 10px;
}

.notice-surface .notice .btn {
    border-radius: 999px !important;
}

/* Поиск в шапке на десктопе (основная и закреплённая шапка) — заметнее: толще рамка, крупнее текст/подсказка и лупа. */
@media (min-width: 992px) {
    .header_wrap .header__top-item .search_wrap .search .search-input,
    #headerfixed .header__top-item .search_wrap .search .search-input {
        border: 1.5px solid #d5dadf !important;
        border-radius: 999px !important;
        font-size: 16px !important;
        color: #1D1D1F !important;
    }

    .header_wrap .header__top-item .search_wrap .search .search-input:focus,
    #headerfixed .header__top-item .search_wrap .search .search-input:focus {
        border-color: #1D1D1F !important;
    }

    .header_wrap .header__top-item .search_wrap .search .search-input::placeholder,
    #headerfixed .header__top-item .search_wrap .search .search-input::placeholder {
        font-size: 16px;
        color: #6e6e73;
        opacity: 1;
    }

    .header_wrap .header__top-item .search_wrap .search .btn-search .svg,
    #headerfixed .header__top-item .search_wrap .search .btn-search .svg {
        transform: scale(1.25);
    }

    .header_wrap .header__top-item .search_wrap .search .btn-search svg path,
    #headerfixed .header__top-item .search_wrap .search .btn-search svg path {
        fill: #1D1D1F;
    }
}

/* Выпадающее окно поиска (история, подсказки, товары) — отдельная плавающая карточка в стиле сайта:
   отступ от поля, скругление со всех сторон, без серых боковых линий контейнера Bitrix. */
.title-search-result {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.title-search-result .istore-search-panel {
    margin-top: 8px;
    border: 1px solid #e6ebf1 !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 40px rgba(17, 24, 39, .10) !important;
    overflow: hidden auto;
}

.title-search-result .istore-search-panel__section:last-child {
    padding-bottom: 14px;
}

/* Каталог на десктопе: кнопка «В корзину» (появляется под карточкой при наведении) — «таблетка» с отступами,
   нижние углы выезжающей панели скруглены как у карточки. На телефонах кнопка уже круглая (правило выше). */
@media (min-width: 601px) {
    html body .catalog_block .catalog_item:not(.big) .footer_button {
        padding: 0 16px 16px !important;
        border-radius: 0 0 18px 18px;
    }

    html body .catalog_block .catalog_item .footer_button .counter_wrapp {
        border-radius: 999px !important;
        overflow: hidden;
    }

    html body .catalog_block .catalog_item .footer_button .counter_wrapp > div .btn,
    html body .catalog_block .catalog_item .footer_button .counter_wrapp .btn {
        border-radius: 999px !important;
    }

    html body .catalog_block .catalog_item .footer_button .counter_wrapp > .counter_block {
        border-radius: 999px 0 0 999px;
    }
}

/* Шапка на десктопе: ссылки верхней строки (О компании, Программа лояльности...) и иконки избранного/корзины —
   в аккуратных рамках-«таблетках» с эффектом нажатия. */
@media (min-width: 992px) {
    .header_wrap .menu.topest > li > a {
        display: inline-block;
        padding: 6px 14px !important;
        border: 1px solid #e3e6ea;
        border-radius: 999px;
        transition: border-color .2s ease, color .2s ease, transform .12s ease;
    }

    .header_wrap .wrap_icon.wrap_basket > a.basket-link {
        display: inline-flex;
        align-items: center;
        padding: 7px 14px;
        border: 1px solid #e3e6ea;
        border-radius: 999px;
        transition: border-color .2s ease, transform .12s ease;
    }

    .header_wrap .menu.topest > li > a:hover,
    .header_wrap .wrap_icon.wrap_basket > a.basket-link:hover {
        border-color: #1D1D1F;
    }

    .header_wrap .menu.topest > li > a:active,
    .header_wrap .wrap_icon.wrap_basket > a.basket-link:active {
        transform: scale(.95);
    }
}

/* Верхняя строка ссылок в шапке: пункты подряд с промежутком 8px, без растягивания на всю ширину. */
@media (min-width: 992px) {
    .header_wrap .menu.topest {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: flex-start !important;
        align-items: center;
        gap: 8px;
        width: auto !important;
    }

    .header_wrap .menu.topest > li {
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .header_wrap .menu.topest > li::before,
    .header_wrap .menu.topest > li::after {
        content: none !important;
    }
}

/* Личный кабинет (/personal/): скругления в стиле сайта. */

/* Боковое меню кабинета — отдельные скруглённые пункты с промежутками, как левое меню каталога. */
.menu_top_block.menu-type1 .left_menu > li + li {
    margin-top: 8px !important;
}

.menu_top_block.menu-type1 .left_menu > li:not(.exit) > a {
    border: 1px solid #ececec !important;
    border-radius: 18px !important;
}

.menu_top_block.menu-type1 .left_menu > li {
    border-radius: 18px;
}

/* Плитки на главной кабинета («Личные данные», «Заказы»...). */
.personal_wrapper .sale-personal-section-index-block-link {
    border-radius: 22px !important;
    overflow: hidden;
}

/* Внутренние страницы кабинета: блоки, поля и кнопки. */
.personal_wrapper .bordered,
.personal_wrapper .box-shadow {
    border-radius: 18px !important;
}

.personal_wrapper .form-control,
.personal_wrapper input[type="text"],
.personal_wrapper input[type="email"],
.personal_wrapper input[type="tel"],
.personal_wrapper input[type="password"],
.personal_wrapper select,
.personal_wrapper textarea {
    border-radius: 12px !important;
}

.personal_wrapper .btn {
    border-radius: 999px !important;
}

/* Главная, блок «Самое популярное» (summer-selection) — в стилистике сайта, без красного:
   нейтральные вкладки (активная тёмная), карточки как в каталоге, тёмные кнопки корзины.
   Перебивает правила из custom.css и встроенного <style> блока. */
html body .summer-selection .summer-tab,
html body .summer-selection .summer-tab:not(.is-active) {
    background: #fff !important;
    border: 1px solid #e3e6ea !important;
    color: #1D1D1F !important;
    box-shadow: none !important;
}

html body .summer-selection .summer-tab:not(.is-active):hover {
    background: #fff !important;
    border-color: #1D1D1F !important;
    color: #1D1D1F !important;
}

html body .summer-selection .summer-tab.is-active,
html body .summer-selection .summer-tab.is-active:hover {
    background: #1D1D1F !important;
    border-color: #1D1D1F !important;
    color: #fff !important;
}

html body .summer-selection .summer-subsection__title::before {
    background: #1D1D1F !important;
}

html body .summer-selection .summer-card {
    border: 1px solid #e6ebf1 !important;
    border-radius: 18px !important;
    background: #fff !important;
}

html body .summer-selection .summer-card::before {
    display: none !important;
}

html body .summer-selection .summer-link.summer-add-cart,
html body .summer-selection .summer-link.summer-add-cart:not(.in-cart):not(.added):not(.clicked) {
    background: #1D1D1F !important;
    border-color: #1D1D1F !important;
    color: #fff !important;
}

html body .summer-selection .summer-link.summer-add-cart:hover {
    background: #000 !important;
    border-color: #000 !important;
}

html body .summer-selection .summer-add-cart.clicked,
html body .summer-selection .summer-add-cart.in-cart,
html body .summer-selection .summer-add-cart.added,
html body .summer-selection .summer-in-cart,
html body .summer-selection a.summer-in-cart.in-cart {
    background: #f5f5f7 !important;
    border: 1px solid #e3e6ea !important;
    color: #1D1D1F !important;
}

html body .summer-selection .summer-add-cart.clicked:hover,
html body .summer-selection .summer-add-cart.in-cart:hover,
html body .summer-selection .summer-add-cart.added:hover,
html body .summer-selection .summer-in-cart:hover {
    background: #ececef !important;
    border-color: #d5dadf !important;
    color: #1D1D1F !important;
}

/* Закреплённая шапка: убираем боковые линии обёртки поиска (тема рисует рамку только слева/справа)
   и делаем поле поиска ниже — 42px. */
@media (min-width: 992px) {
    #headerfixed .search_wrap .search-wrapper,
    .logo_and_menu-row .search_wrap.only_bg .search-wrapper {
        border: 0 !important;
        height: auto !important;
    }

    #headerfixed .search_wrap .search-wrapper .search .search-input,
    .logo_and_menu-row .search_wrap.only_bg .search-wrapper .search .search-input {
        height: 42px !important;
        margin-bottom: 0 !important;
    }

    #headerfixed .search_wrap .search-wrapper .search .btn-search,
    .logo_and_menu-row .search_wrap.only_bg .search-wrapper .search .btn-search {
        height: 42px !important;
        top: 0;
        bottom: auto !important;
    }
}

/* Закреплённая шапка: поле поиска — ровно по центру строки по вертикали. */
@media (min-width: 992px) {
    #headerfixed .header__top-item:has(> .search_wrap) {
        align-self: stretch;
        display: flex;
        align-items: center;
    }

    #headerfixed .header__top-item > .search_wrap,
    #headerfixed .header__top-item > .search_wrap > .search-block {
        display: flex !important;
        align-items: center;
        width: 100%;
        height: 100%;
    }

    #headerfixed .header__top-item > .search_wrap .search-wrapper {
        display: block !important;
        width: 100%;
    }
}

/* Выпадающее меню «Мой кабинет»: поверх поиска (у поиска z-index 999999 в custom.css) и скруглённое. */
/* Слой поднимаем только пока открыто меню кабинета — иначе строка «О компании...» оставалась
   поверх затемнения при открытом меню каталога. */
.header_wrap .top-block:has(.auth_wr_inner:hover),
.header_wrap .auth_wr_inner:hover,
#headerfixed .auth_wr_inner:hover {
    position: relative;
    z-index: 1000000 !important;
}

.auth_wr_inner .dropdown-menu {
    z-index: 1000001 !important;
    padding: 6px !important;
    border: 1px solid #e6ebf1 !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 40px rgba(17, 24, 39, .10) !important;
    overflow: hidden;
}

.auth_wr_inner .dropdown-menu li a,
.auth_wr_inner .dropdown-menu > li:first-of-type:hover a,
.auth_wr_inner .dropdown-menu > li:last-of-type:hover a {
    border-top-color: transparent !important;
    border-radius: 12px !important;
}

/* Меню «Мой кабинет»: при наведении — полоска 1px под текстом пункта, как в остальных меню (без серой плашки). */
@media (hover: hover) {
    .auth_wr_inner .dropdown-menu li > a {
        display: inline-block !important;
        width: auto !important;
        background-image: linear-gradient(#1D1D1F, #1D1D1F) !important;
        background-repeat: no-repeat !important;
        background-origin: content-box !important;
        background-position: left bottom !important;
        background-size: 0 1px !important;
        transition: background-size .25s ease, color .2s ease;
    }

    .auth_wr_inner .dropdown-menu li:hover > a {
        background-color: transparent !important;
        background-size: 100% 1px !important;
        color: #1D1D1F !important;
    }
}

/* Главные баннеры на телефонах: скруглённые углы (18px). isolation + translateZ — чтобы Safari не терял
   скругление во время пролистывания. */
@media (max-width: 767px) {
    .top_slider_wrapp .main-slider {
        border-radius: 18px;
        overflow: hidden;
        isolation: isolate;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

/* Главные баннеры на телефонах: между баннерами промежуток (spaceBetween в main-banner-mobile-v2.js),
   поэтому скругляем каждый баннер отдельно. */
@media (max-width: 767px) {
    .top_slider_wrapp .main-slider .swiper-slide {
        border-radius: 18px;
        overflow: hidden;
    }
}

/* Главные баннеры на десктопе — тоже скруглённые (на телефонах правило выше). */
@media (min-width: 768px) {
    .top_slider_wrapp .main-slider {
        border-radius: 18px;
        overflow: hidden;
        isolation: isolate;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

/* Баннеры под главными (float_banners: «Чехлы на iPhone», «Фото и видео»...) — скругление 18px везде. */
.float_banners .item .image,
.float_banners .item .image .img_inner {
    border-radius: 18px !important;
    overflow: hidden;
    isolation: isolate;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.float_banners .item {
    border-radius: 18px;
}

/* «Самое популярное»: цена в одну строку; если карточка узкая — кнопка корзины уходит на свою строку,
   а не сжимает цену. */
html body .summer-selection .summer-price {
    white-space: nowrap !important;
}

html body .summer-selection .summer-card__bottom {
    flex-wrap: wrap !important;
    row-gap: 10px;
}

/* «Самое популярное»: цены шрифтом сайта (Montserrat), а не системным шрифтом блока. */
html body .summer-selection .summer-price {
    font-family: 'Montserrat', Arial, sans-serif !important;
}

/* ===== Блог (/blog/) и такие же списки статей ===== */

/* Фильтр по годам — «таблетки» с промежутками, активная тёмная.
   Только на десктопе: на мобильном остаётся штатный выпадающий список. */
@media (min-width: 768px) {
    .head-block.top.bordered-block {
        display: flex !important;
        flex-wrap: wrap;
        gap: 8px;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .head-block.top .item-link {
        border: 1px solid #e3e6ea !important;
        border-radius: 999px !important;
        background: #fff !important;
        transition: border-color .2s ease, background-color .2s ease;
    }

    .head-block.top .item-link::before,
    .head-block.top .item-link::after {
        display: none !important;
    }

    .head-block.top .item-link:hover {
        border-color: #1D1D1F !important;
    }

    .head-block.top .item-link.active {
        background: #1D1D1F !important;
        border-color: #1D1D1F !important;
    }

    .head-block.top .item-link.active .btn-inline,
    .head-block.top .item-link.active a {
        color: #fff !important;
    }
}

/* Карточки статей. */
.news-list-template .item_wrap {
    border: 1px solid #e6ebf1 !important;
    border-radius: 22px !important;
    overflow: hidden;
    margin-bottom: 16px;
}

.news-list-template .arrow_link {
    border-radius: 999px !important;
    transition: background-color .2s ease, border-color .2s ease;
}

@media (hover: hover) {
    .news-list-template .item_wrap .title a {
        padding-bottom: 2px;
        background-image: linear-gradient(#1D1D1F, #1D1D1F);
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
        transition: background-size .25s ease;
    }

    .news-list-template .item_wrap:hover .title a {
        background-size: 100% 1px;
    }

    .news-list-template .item_wrap:hover .arrow_link {
        background: #1D1D1F !important;
        border-color: #1D1D1F !important;
    }

    .news-list-template .item_wrap:hover .arrow_link svg path {
        fill: #fff !important;
    }
}

/* Левая колонка: рубрики отдельными скруглёнными плитками, теги — «таблетками». */
.categories_block .categories > li + li {
    margin-top: 8px !important;
}

.categories_block .categories_link {
    border: 1px solid #ececec !important;
    border-radius: 18px !important;
}

.search-tags-cloud .tags a {
    display: inline-block;
    margin: 0 6px 6px 0;
    padding: 4px 12px;
    border: 1px solid #e3e6ea;
    border-radius: 999px;
    transition: border-color .2s ease;
}

.search-tags-cloud .tags a:hover {
    border-color: #1D1D1F;
}

/* «Показать ещё» и номера страниц. */
.ajax_load_btn {
    border-radius: 999px !important;
}

.module-pagination .nums a,
.module-pagination .nums span,
.module-pagination .nums .cur {
    border-radius: 999px !important;
}

/* Закреплённая шапка чуть прозрачнее (размытие сохраняется). */
@media (min-width: 768px) {
    html body #headerfixed.fixed {
        background: rgba(245, 245, 247, .3) !important;
    }
}

@media (max-width: 991px) {
    html body .wrapper1.mfixed_Y > div#mobileheader.fixed .mobileheader-v1 {
        background: rgba(255, 255, 255, .45) !important;
    }
}

/* Страница товара: основной блок (галерея + информация), блок бренда, фото и миниатюры — скруглённые. */
.catalog_detail .product-info.bordered {
    border-radius: 22px !important;
}

.catalog_detail .brand-detail-info.bordered {
    border-radius: 18px !important;
    overflow: hidden;
}

.catalog_detail .detail-gallery-big-slider-main__inner,
.catalog_detail .detail-gallery-big-slider-main .swiper-slide {
    border-radius: 14px;
    overflow: hidden;
}

.catalog_detail .gallery-slider-thumb .swiper-slide,
.catalog_detail .gallery-slider-thumb .swiper-slide img {
    border-radius: 10px !important;
}

/* ===== Главная: чисто белый фон вместо серого (#f8f8f8) у секций grey_block =====
   Переопределяем переменную темы, а не сами правила: вместе с фоном
   перекрашиваются и связанные элементы (затенения по краям слайдеров).
   Только светлая тема и только главная. */
body.theme-light .wrapper_inner.front .grey_block {
    --darkerblack_bg_black: #fff;
}
