/* =============================================
   Categories Menu — ILZE Baltic
   ============================================= */

/* === НАСТРОЙКИ — меняй здесь === */
:root {
    --submenu-width: 230px;
    --highlight-w: 97%;
    --search-max-width: 580px;
    --search-height: 34px;
    --header-padding: 6px;
    --logo-width: 60px;
    --slider-width: 100vw;
    --slider-height: auto;
}

/* =============================================
   ДЕСКТОП (>= 992px) — явные правила
   ============================================= */
@media (min-width: 992px) {

    /* Мобильный бар не показываем на десктопе */
    #ilze-mobile-bar { display: none !important; }
    #ilze-mobile-search-bar { display: none !important; }

    /* Убираем лишние отступы под хедером */
    #header { margin-bottom: 0 !important; }
    /* В базовой теме у nav.header-nav/#header высота жёстко зашита под
       ОДИН ряд (56px) — теперь рядов два (иконки + поиск, итого ~106px),
       и без этого сброса контейнер обрезался по высоте, а строка поиска
       рисовалась НАД следующим блоком, а не раздвигала макет. */
    #header,
    nav.header-nav,
    .header-nav {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .header-top { margin-bottom: 0 !important; }
    .header-top > .container { padding-bottom: 0 !important; }
    .header-top .row { margin-bottom: 0 !important; }

    /* Логотип всегда виден в header-top */
    #_desktop_logo {
        display: flex !important;
        align-items: center !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    #_desktop_logo h1,
    #_desktop_logo h2 {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
        display: flex !important;
        align-items: center !important;
    }
    #_desktop_logo .logo {
        max-height: 60px !important;
        width: auto !important;
        display: block !important;
    }

    /* header-top виден на десктопе */
    .header-top,
    #header .header-top,
    header .header-top {
        display: block !important;
    }

}


/* === УБИРАЕМ OUTLINE при клике === */
*:focus:not(:focus-visible) {
    outline: none !important;
}

/* Убираем toggler */
#top-menu .navbar-toggler,
#top-menu .collapse-icons,
#top-menu .float-xs-right {
    display: none !important;
}

/* === ГЛАВНОЕ МЕНЮ === */
#top-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;   /* центрируем пункты */
    flex-wrap: nowrap !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

#top-menu > li {
    position: relative !important;
    list-style: none !important;
    display: flex !important;
    align-items: stretch !important;
    flex: 0 1 auto !important;            /* можно сжать если не влезает */
    margin-right: 0 !important;
}

/* "О нас" (cms-page, из MOD_BLOCKTOPMENU_ITEMS) и "Контакты" (добавлен
   вручную в ps_mainmenu.tpl, идёт сразу за ним) — не разделы каталога,
   отделяем эту пару тонкой вертикальной линией от категорий товаров. */
#top-menu > li.cms-page {
    margin-left: 14px !important;
    padding-left: 14px !important;
    border-left: 1px solid #e0e0e0 !important;
}

#top-menu > li > a {
    display: flex !important;
    align-items: center !important;
    padding: 12px clamp(6px, 1.15vw, 16px) !important;
    color: #2c2c2c !important;
    font-size: clamp(11.5px, 0.95vw, 13px) !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: clamp(0.3px, 0.05vw, 0.8px) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border-bottom: none !important;
    transition: color 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#top-menu > li:hover > a,
#top-menu > li > a:hover {
    color: #e87722 !important;
    text-decoration: none !important;
}

/* ── MLILY: тёмный синий + мерцающие звёздочки ── */
@keyframes ilze-mlily-star {
    0%, 100% { opacity: 0; transform: scale(0.3) rotate(0deg); }
    35%, 65%  { opacity: 1; transform: scale(1)   rotate(180deg); }
}

#top-menu li#category-19 > a,
#_desktop_top_menu li#category-19 > a,
#_desktop_top_menu [id="category-19"] > a {
    color: #1941b0 !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    position: relative !important;
}
/* Ховер — чуть светлее чем базовый, но всё ещё синий */
#top-menu li#category-19:hover > a,
#_desktop_top_menu li#category-19:hover > a {
    color: #2554cc !important;
}
/* Убираем оранжевую полоску снизу */
#top-menu li#category-19::after {
    display: none !important;
}
/* Звёздочка слева-сверху */
#top-menu li#category-19 > a::before {
    content: '✦' !important;
    position: absolute !important;
    top: 4px !important;
    left: 3px !important;
    font-size: 9px !important;
    color: #4f83f5 !important;
    animation: ilze-mlily-star 2.6s ease-in-out infinite !important;
    pointer-events: none !important;
    line-height: 1 !important;
    font-style: normal !important;
}
/* Звёздочка справа-снизу — со сдвигом по фазе */
#top-menu li#category-19 > a::after {
    content: '✦' !important;
    position: absolute !important;
    bottom: 4px !important;
    right: 3px !important;
    font-size: 7px !important;
    color: #7aa8ff !important;
    animation: ilze-mlily-star 2.6s ease-in-out infinite 1.3s !important;
    pointer-events: none !important;
    line-height: 1 !important;
    font-style: normal !important;
}

#top-menu > li::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 3px !important;
    background: transparent !important;
    transition: background 0.2s !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

#top-menu > li:hover::after {
    background: #e87722 !important;
}

#top-menu > li.is-open::after {
    width: var(--stripe-w, 100%) !important;
}

/* === ВЫПАДАЮЩЕЕ МЕНЮ 1-й уровень === */
#top-menu > li > .popover.sub-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-top: none !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.13) !important;
    padding: 6px 0 !important;
    border-radius: 0 0 6px 6px !important;
    margin: 0 !important;
    width: var(--submenu-width) !important;
    max-width: var(--submenu-width) !important;
    min-width: 0 !important;
}

#top-menu > li > .popover.sub-menu > .arrow,
#top-menu > li > .popover.sub-menu::before,
#top-menu > li > .popover.sub-menu::after {
    display: none !important;
}

/* === ПУНКТЫ подменю === */
#top-menu .popover.sub-menu ul,
#top-menu .sub-submenu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: var(--submenu-width) !important;
    max-width: var(--submenu-width) !important;
    box-sizing: border-box !important;
}

#top-menu .popover.sub-menu ul > li,
#top-menu .sub-submenu ul > li {
    position: relative !important;
    list-style: none !important;
    display: block !important;
    width: var(--submenu-width) !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

#top-menu .popover.sub-menu ul > li:last-child,
#top-menu .sub-submenu ul > li:last-child {
    border-bottom: none !important;
}

#top-menu .popover.sub-menu ul > li > a,
#top-menu .sub-submenu ul > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 18px 10px 12px !important;
    color: #333 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border-left: 3px solid transparent !important;
    transition: color 0.15s, border-color 0.15s !important;
    background: transparent !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#top-menu .popover.sub-menu ul > li:hover > a,
#top-menu .sub-submenu ul > li:hover > a {
    background-image: linear-gradient(#fff8f4, #fff8f4) !important;
    background-repeat: no-repeat !important;
    background-size: var(--highlight-w) 100% !important;
    background-position: left center !important;
    color: #e87722 !important;
    border-left-color: #e87722 !important;
    text-decoration: none !important;
}

#top-menu .popover.sub-menu ul > li.has-children > a::after {
    content: '›' !important;
    font-size: 20px !important;
    color: #ccc !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    transition: color 0.15s !important;
}

#top-menu .popover.sub-menu ul > li.has-children:hover > a::after {
    color: #e87722 !important;
}

/* === ВЛОЖЕННОЕ ПОДМЕНЮ 2-й уровень === */
#top-menu .sub-submenu {
    display: none !important;
    position: absolute !important;
    left: 100% !important;
    top: -6px !important;
    z-index: 10000 !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-top: none !important;
    box-shadow: 4px 8px 24px rgba(0,0,0,0.10) !important;
    width: var(--submenu-width) !important;
    max-width: var(--submenu-width) !important;
    min-width: 0 !important;
    padding: 6px 0 !important;
    border-radius: 0 0 6px 6px !important;
}

#top-menu .popover.sub-menu ul > li.has-children:hover > .sub-submenu {
    display: block !important;
}

/* === Bootstrap .dropdown-item override === */
#top-menu > li > a.dropdown-item {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 12px 16px !important;
    background-color: transparent !important;
}

#top-menu > li:hover > a.dropdown-item,
#top-menu > li > a.dropdown-item:hover,
#top-menu > li > a.dropdown-item:focus {
    background-color: transparent !important;
    color: #e87722 !important;
}




/* =============================================
   МОБИЛЬНОЕ СЛАЙД-МЕНЮ
   ============================================= */

#ilze-mob-overlay {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: rgba(0,0,0,0.52) !important;
    z-index: 999999 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease !important;
}
#ilze-mob-overlay.active {
    opacity: 1 !important;
    pointer-events: all !important;
}

#ilze-mob-panel {
    position: absolute !important;
    top: 0 !important; left: 0 !important; bottom: 0 !important;
    width: 82% !important;
    max-width: 320px !important;
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    transform: translateX(-100%) !important;
    transition: transform 0.28s cubic-bezier(0.4,0,0.2,1) !important;
    box-shadow: 4px 0 32px rgba(0,0,0,0.2) !important;
}
#ilze-mob-overlay.active #ilze-mob-panel {
    transform: translateX(0) !important;
}

#ilze-mob-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 14px !important;
    border-bottom: 2px solid #e87722 !important;
    background: #fff !important;
    flex-shrink: 0 !important;
}

#ilze-mob-logo {
    width: 54px !important;
    height: auto !important;
    display: block !important;
}

#ilze-mob-close {
    background: none !important;
    border: none !important;
    padding: 6px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    color: #777 !important;
    border-radius: 50% !important;
    transition: color 0.2s, background 0.2s !important;
    line-height: 1 !important;
}
#ilze-mob-close:hover { color: #e87722 !important; background: #fff8f4 !important; }
#ilze-mob-close .material-icons { font-size: 26px !important; line-height: 1 !important; }

/* ── Футер панели: контакты ──
   Два возможных пункта — ссылка на страницу "Контакты" и номер телефона —
   должны идти друг под другом (страница сверху), а не в ряд, как раньше
   получалось бы просто из inline-flex у .ilze-mob-contact. */
#ilze-mob-panel-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    padding: 14px 20px !important;
    border-top: 1px solid #f0f0f0 !important;
    background: #fff !important;
}
.ilze-mob-contact {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #444 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    transition: color 0.15s !important;
}

/* "Контакты" читалось как просто подпись/заголовок над номером телефона,
   а не как ссылка — растягиваем на всю ширину футера, добавляем стрелку
   справа (тот же .ilze-mob-arr, что у обычных пунктов меню) и заметное
   нажатие, вместо мелкой строки "иконка + текст" как у номера телефона. */
.ilze-mob-contact.ilze-mob-contact-page {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    color: #222 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}
.ilze-mob-contact-page-lbl {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.ilze-mob-contact.ilze-mob-contact-page:active {
    color: #e87722 !important;
}
.ilze-mob-contact.ilze-mob-contact-page .ilze-mob-arr {
    font-size: 20px !important;
    color: #ccc !important;
}
.ilze-mob-contact .material-icons {
    font-size: 18px !important;
    color: #e87722 !important;
    flex-shrink: 0 !important;
}
.ilze-mob-contact:active { color: #e87722 !important; }

/* Слайды */
#ilze-mob-slides {
    flex: 1 !important;
    display: flex !important;
    align-items: flex-start !important;
    /* overflow: hidden убран — панель уже имеет overflow:hidden;
       если оставить здесь, transform двигает всю рамку за пределы панели
       и ни один слайд не виден после анимации                        */
    transition: transform 0.28s cubic-bezier(0.4,0,0.2,1) !important;
    min-height: 0 !important;
    will-change: transform !important;
}

.ilze-mob-slide {
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

/* Строка «Назад» */
.ilze-mob-back-row {
    display: flex !important;
    align-items: stretch !important;
    background: #fafafa !important;
    border-bottom: 1px solid #eee !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
}

.ilze-mob-back {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    flex: 1 !important;
    padding: 12px 14px !important;
    background: none !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #e87722 !important;
    cursor: pointer !important;
    text-align: left !important;
    min-width: 0 !important;
}
.ilze-mob-back span:not(.material-icons) {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.ilze-mob-back .material-icons { font-size: 22px !important; flex-shrink: 0 !important; }

.ilze-mob-see-all {
    display: flex !important;
    align-items: center !important;
    padding: 12px 14px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #999 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    border-left: 1px solid #eee !important;
    letter-spacing: 0.3px !important;
}
.ilze-mob-see-all:hover { color: #e87722 !important; background: #fff8f4 !important; }

/* Список пунктов */
.ilze-mob-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ilze-mob-item {
    list-style: none !important;
    border-bottom: 1px solid #f2f2f2 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ilze-mob-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 14px 16px !important;
    background: none !important;
    border: none !important;
    text-align: left !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #222 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background 0.12s, color 0.12s !important;
    -webkit-tap-highlight-color: transparent !important;
    line-height: 1.3 !important;
}
.ilze-mob-link:active { background: #fff8f4 !important; color: #e87722 !important; }

/* ── MLILY: выделение в мобильном меню ── */
.ilze-mob-link.ilze-mob-mlily,
a.ilze-mob-mlily {
    color: #1941b0 !important;
    font-weight: 700 !important;
}
.ilze-mob-link.ilze-mob-mlily .ilze-mob-lbl {
    color: #1941b0 !important;
}
/* Одна звёздочка перед текстом */
.ilze-mob-link.ilze-mob-mlily .ilze-mob-lbl::before {
    content: '✦ ' !important;
    font-size: 10px !important;
    color: #4f83f5 !important;
    animation: ilze-mlily-star 2.6s ease-in-out infinite !important;
    display: inline !important;
    vertical-align: middle !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1 !important;
}
/* Вторая звёздочка после текста — со сдвигом по фазе */
.ilze-mob-link.ilze-mob-mlily .ilze-mob-lbl::after {
    content: ' ✦' !important;
    font-size: 8px !important;
    color: #7aa8ff !important;
    animation: ilze-mlily-star 2.6s ease-in-out infinite 1.3s !important;
    display: inline !important;
    vertical-align: middle !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1 !important;
}
.ilze-mob-link.ilze-mob-mlily:active {
    background: #eef2ff !important;
    color: #2554cc !important;
}

.ilze-mob-lbl { flex: 1 !important; min-width: 0 !important; }

.ilze-mob-arr {
    font-size: 22px !important;
    color: #ccc !important;
    flex-shrink: 0 !important;
    margin-left: 4px !important;
}



/* === СБРОС ОТСТУПОВ ТЕМЫ === */
html body #_desktop_top_menu #top-menu .popover.sub-menu ul > li,
html body #_desktop_top_menu #top-menu .sub-submenu ul > li {
    margin: 0 !important;
    padding: 0 !important;
}

html body #_desktop_top_menu #top-menu .popover.sub-menu ul,
html body #_desktop_top_menu #top-menu .sub-submenu ul {
    margin: 0 !important;
    padding: 0 !important;
}

html body #_desktop_top_menu #top-menu .popover.sub-menu ul > li > a,
html body #_desktop_top_menu #top-menu .sub-submenu ul > li > a {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* === ШАПКА И ЛОГОТИП === */
/* Логотип — в col-md-2 слева, меню — в col-md-10 справа */
.header-top .row,
.header-top > .container > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Логотип — не сжимается, ширина по Bootstrap col-md-2 (~16.67%) */
#_desktop_logo {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 16.6667% !important;
    max-width: 16.6667% !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
    box-sizing: border-box !important;
}

#_desktop_logo h1,
#_desktop_logo h2 {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

#_desktop_logo .logo {
    height: 50px !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
}

/* Меню — занимает оставшиеся 83.33% */
.header-top-right {
    flex: 0 0 83.3333% !important;
    max-width: 83.3333% !important;
    box-sizing: border-box !important;
}

/* Меню внутри — не растягивается само на 100% */
#_desktop_top_menu {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* ── Все пункты меню — строго в одну строку, без переноса ─────────────
   Фикс для ets_megamenu: модуль может рендерить свой UL с flex-wrap:wrap,
   из-за этого длинные пункты ("Наматрасники и защита") уходят на вторую строку */
#_desktop_top_menu,
#_desktop_top_menu > ul,
#_desktop_top_menu .ets-megamenu,
#_desktop_top_menu .ets-megamenu__list,
#_desktop_top_menu nav > ul,
#_desktop_top_menu #top-menu {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
}

.header-top {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Бейдж корзины — крупнее на десктопе */
#_desktop_cart .cart-products-count {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #333 !important;
}

/* === ПОИСК === */
.header-nav .right-nav #search_widget {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    margin-right: 10px !important;
    margin-left: 10px !important;
    overflow: visible !important; /* НЕ hidden — иначе autocomplete dropdown обрезается */
    position: relative !important; /* якорь для dropdown если appendTo: '#search_widget' */
}

.header-nav .right-nav #search_widget form {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #ddd !important;
    border-radius: 20px !important;
    padding: 0 14px !important;
    background: #fff !important;
    width: 100% !important;
    max-width: var(--search-max-width) !important;
    height: var(--search-height) !important;
    box-sizing: border-box !important;
    overflow: visible !important; /* было hidden — это и клипало выпадающий список */
}

.header-nav .right-nav #search_widget input[type="text"] {
    border: none !important;
    outline: none !important;
    font-size: 13px !important;
    width: 100% !important;
    flex: 1 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    height: var(--search-height) !important;
    line-height: var(--search-height) !important;
    box-sizing: border-box !important;
}

.header-nav .right-nav #search_widget form i.material-icons.search {
    position: static !important;
    padding: 0 !important;
    font-size: 18px !important;
    color: #999 !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    justify-content: center !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    flex: 0 0 20px !important;
    height: 20px !important;
    margin-right: 6px !important;
    line-height: 1 !important;
    overflow: hidden !important;
}

/* Сброс text-transform */
#top-menu > li > a,
#top-menu .popover.sub-menu ul > li > a,
#top-menu .sub-submenu ul > li > a {
    text-transform: none !important;
}

.header-top-right #search_widget {
    display: none !important;
}

/* === ВЫСОТА НАВИГАЦИИ === */
.header-nav {
    min-height: 56px !important;
}

.header-nav .container > .row {
    min-height: 56px !important;
    align-items: center !important;
}

.header-nav .col-md-5 {
    display: flex !important;
    align-items: center !important;
    height: 56px !important;
}

.header-nav .right-nav {
    display: flex !important;
    align-items: center !important;
    height: 56px !important;
    gap: 0 !important;
}

/* === ТЕЛЕФОН === */
#_desktop_contact_link #contact-link {
    display: flex !important;
    align-items: center !important;
    height: 56px !important;
    white-space: nowrap !important;
    margin-right: 8px !important;
    font-size: 0 !important; /* Скрываем текстовые узлы ("Susisiekite su mumis..."),
                                font-size на <a> ниже восстанавливает его собственный текст */
}

#_desktop_contact_link #contact-link::before,
#_desktop_contact_link #contact-link i,
#_desktop_contact_link #contact-link .material-icons,
#_desktop_contact_link #contact-link a i,
#_desktop_contact_link #contact-link a .material-icons {
    display: none !important;
}

#_desktop_contact_link #contact-link a::before {
    font-family: 'Material Icons' !important;
    content: 'call' !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 26px !important;
    margin-right: 6px !important;
    color: #e87722 !important;
    line-height: 1 !important;
}

#_desktop_contact_link #contact-link a {
    display: flex !important;
    align-items: center !important;
    color: #777 !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

#_desktop_contact_link #contact-link a:hover { color: #e87722 !important; }

/* === ЯЗЫК === */
#_desktop_language_selector {
    margin-right: 0 !important;
    padding-right: 0 !important;
}

#_desktop_language_selector .language-selector-wrapper {
    display: flex !important;
    align-items: stretch !important;
    height: 56px !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
}

#_desktop_language_selector .language-selector {
    display: flex !important;
    align-items: stretch !important;
    height: 56px !important;
}

#_desktop_language_selector .language-selector button.hidden-sm-down {
    display: inline-flex !important;
    align-items: center !important;
    height: 56px !important;
    padding: 0 2px 0 4px !important;
    margin: 0 !important;
    gap: 0 !important;
}

html body #_desktop_language_selector .language-selector button .material-icons,
html body #_desktop_language_selector .language-selector button i {
    font-size: 38px !important;
    width: 38px !important;
    height: 38px !important;
    color: #e87722 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#_desktop_language_selector .language-selector button .material-icons.expand-more {
    font-size: 18px !important;
    width: auto !important;
    height: auto !important;
    margin-left: -2px !important;
    color: #777 !important;
}

#_desktop_language_selector .language-selector .expand-more:not(i) {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #777 !important;
}

/* =============================================
   АККАУНТ — PS9 compatible
   Незалогинен: <a rel="nofollow"><i class="material-icons"></i><span class="hidden-sm-down">Войти</span></a>
   Залогинен:   <a class="account">...</a> + <a class="logout">
   ============================================= */

html body #_desktop_user_info { margin-left: 0 !important; padding-left: 0 !important; }


/* Скрываем имя пользователя у залогиненного */
html body #_desktop_user_info .user-info a.account span {
    display: none !important;
}

/* Базовые стили ссылки — оба состояния */
html body #_desktop_user_info .user-info a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    padding: 0 6px !important;
    margin: 0 !important;
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #777 !important;
    gap: 5px !important;
    vertical-align: middle !important;
}

/* Скрываем оригинальный <i> — в PS9 он пустой, но скрываем на всякий случай */
html body #_desktop_user_info .user-info a i {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Иконка через ::before — unicode \e853 = person_outline в Material Icons */
html body #_desktop_user_info .user-info a::before {
    font-family: 'Material Icons' !important;
    content: '\e853' !important;   /* person_outline unicode */
    font-size: 28px !important;
    color: #777 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.2s !important;
    flex-shrink: 0 !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-feature-settings: 'liga' !important;
    -webkit-font-feature-settings: 'liga' !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
    speak: none !important;
}

html body #_desktop_user_info .user-info a:hover::before {
    color: #e87722 !important;
}

/* Незалогинен: показываем span "Войти" */
html body #_desktop_user_info .user-info a:not(.account) span.hidden-sm-down {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #777 !important;
    white-space: nowrap !important;
    transition: color 0.2s !important;
    line-height: 1 !important;
}

html body #_desktop_user_info .user-info a:not(.account):hover span.hidden-sm-down {
    color: #e87722 !important;
}

/* === DROPDOWN АККАУНТА (залогинен) === */

/* Контейнер должен быть relative для позиционирования dropdown */
html body #_desktop_user_info .user-info {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* Невидимый «мост» между иконкой и dropdown — курсор не выходит из зоны hover */
html body #_desktop_user_info .user-info .ilze-account-dropdown::before {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: -8px !important;
    left: 0 !important;
    right: 0 !important;
    height: 8px !important;
}

/* Сам dropdown */
html body #_desktop_user_info .user-info .ilze-account-dropdown {
    position: absolute !important;
    top: calc(100% - 4px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-top: 2px solid #e87722 !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    min-width: 160px !important;
    display: none !important;
    z-index: 9999 !important;
    padding: 4px 0 !important;
}

/* Ссылка «Выйти» внутри dropdown:
   - сбрасываем высоту 56px от общего правила
   - убираем ::before (иконка person не нужна здесь)
   - убираем display:none от старого правила (если вдруг не убралось) */
html body #_desktop_user_info .user-info .ilze-account-dropdown a.logout {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 11px 16px !important;
    color: #555 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    background: none !important;
    border: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    justify-content: flex-start !important;
}

html body #_desktop_user_info .user-info .ilze-account-dropdown a.logout:hover {
    background: #fff8f4 !important;
    color: #e87722 !important;
}

/* Иконка person через ::before — НЕ нужна в dropdown */
html body #_desktop_user_info .user-info .ilze-account-dropdown a.logout::before {
    display: none !important;
    content: '' !important;
}

/* Иконка выхода <i> внутри logout — показываем */
html body #_desktop_user_info .user-info .ilze-account-dropdown a.logout i {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    font-size: 18px !important;
    color: #e87722 !important;
    flex-shrink: 0 !important;
}

/* === КОРЗИНА === */
#_desktop_cart .blockcart .header span:not(.cart-products-count) {
    display: none !important;
}

#_desktop_cart .blockcart .header,
#_desktop_cart .blockcart .header a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 56px !important;
    text-decoration: none !important;
    padding: 0 14px 0 4px !important;
    margin: 0 !important;
    position: relative !important;
}

#_desktop_cart .blockcart .header .material-icons {
    font-size: 30px !important;
    color: #777 !important;
    line-height: 1 !important;
    transition: color 0.2s !important;
}

#_desktop_cart .blockcart .header:hover .material-icons,
#_desktop_cart .blockcart .header a:hover .material-icons {
    color: #e87722 !important;
}

#_desktop_cart .blockcart .header .cart-products-count {
    position: absolute !important;
    top: 10px !important;
    right: 4px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 4px !important;
    background: #e87722 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
    border-radius: 9px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transition: background 0.2s !important;
}

#_desktop_cart .blockcart:hover .cart-products-count,
#_desktop_cart .blockcart .header:hover .cart-products-count,
#_desktop_cart .blockcart .header a:hover .cart-products-count {
    background: #777 !important;
}

/* =============================================
   СЛАЙДЕР И БАННЕРЫ
   ============================================= */

body#index .layout-full-width,
body#index [class*="layout-full"],
body#index #content-wrapper > .container,
body#index #wrapper > .container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#homeslider,
.homeslider-container,
.ps_imageslider,
#_desktop_banner,
.banner-container,
[id*="imageslider"],
[class*="imageslider"],
.slick-slider,
.slick-list,
.slick-track {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
}

#homeslider img,
.homeslider-container img,
.ps_imageslider img,
[class*="imageslider"] img,
.slick-slide img {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--slider-height) !important;
    display: block !important;
    object-fit: cover !important;
}

.banner img,
#custom-text img,
.custom-text img,
[id*="banner"] img,
[class*="banner"] img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

body#index .featured-products .container,
body#index .products-section .container,
body#index footer .container,
body#index header .container {
    max-width: 1200px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =============================================
   ПОЛНАЯ ШИРИНА
   ============================================= */

#wrapper > .container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#wrapper > .container > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#content-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#main,
#content.page-home {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#wrapper .breadcrumb {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* =============================================
   СЛАЙДЕР
   ============================================= */

#carousel,
.carousel {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: var(--slider-width) !important;
    max-width: var(--slider-width) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
}

#carousel .carousel-inner,
.carousel .carousel-inner,
#carousel .carousel-item,
.carousel .carousel-item {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--slider-height) !important;
}

#carousel img,
.carousel img,
.carousel-item img,
#carousel .carousel-item a img,
.carousel .carousel-item a img {
    width: 100% !important;
    max-width: 100% !important;
    height: var(--slider-height) !important;
    display: block !important;
    object-fit: cover !important;
}

a.banner,
.banner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

a.banner img,
.banner img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

#content.page-home .featured-products,
#content.page-home section,
#content.page-home .products-section {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
/* =============================================
   5. МОБИЛЬНЫЙ HEADER (<= 991px)
   ============================================= */
@media (max-width: 991px) {

    /* ─── СКРЫВАЕМ НЕНУЖНОЕ ─── */
    .header-top,
    #header .header-top,
    header .header-top        { display: none !important; }
    #_desktop_top_menu        { display: none !important; }
    #_desktop_contact_link    { display: none !important; }
    #_desktop_language_selector { display: none !important; }

    /* ─── ШАПКА ─── */
    /* В базовой теме у nav.header-nav/#header высота жёстко зашита под
       ОДИН ряд — теперь на мобиле два ряда (иконки + поиск), и без этого
       сброса контейнер обрезался по высоте, а строка поиска/контент под ней
       рисовались НАД следующим блоком (баннер/хлебные крошки), а не
       раздвигали макет. Тот же фикс уже стоит в десктопной секции выше. */
    #header,
    nav.header-nav,
    .header-nav {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .header-nav {
        min-height: 42px !important;
        background: #fff !important;
        border-bottom: 1px solid #ebebeb !important;
        box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
    }
    .header-nav .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .header-nav .container > .row {
        min-height: 42px !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        position: relative !important;
    }
    /* Зануляем возможные отступы под навом из базовой темы — раньше их
       "съедал" единственный ряд иконок, а после добавления отдельного бара
       поиска под ним стал виден лишний промежуток до основного контента. */
    .header-nav,
    nav.header-nav {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .header-nav .container,
    .header-nav .container > .row {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    #ilze-mobile-search-bar {
        margin-bottom: 0 !important;
    }
    /* Возможный верхний отступ у обёртки основного контента/героя на главной —
       это уже не header, а сам шаблон страницы/модуль, но на всякий случай
       обнуляем самые частые кандидаты. */
    #content-wrapper,
    #wrapper,
    main,
    #index #content-wrapper {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

        /* Скролл-лок */
    body.ilze-mob-open { overflow: hidden !important; }

}

/* ─── RIGHT-NAV: растягиваем на всю строку ─── */
    .header-nav .right-nav {
        display: flex !important;
        align-items: center !important;
        height: 42px !important;
        flex: 1 1 auto !important;
        flex-wrap: nowrap !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
        position: relative !important;
    }

@media (max-width: 991px) {

    /* ─── БУРГЕР (нативная кнопка PS) ─── */
    .header-nav .right-nav > *:first-child,
    #_mobile_cart ~ .blockcart,
    .header-nav .right-nav .navbar-toggler {
        order: 0 !important;
    }

    /* ─── ЛОГОТИП: абсолютно по центру как у maxcolchon ─── */
    #_desktop_logo {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        top: 0 !important;
        height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        pointer-events: auto !important;
    }
    #_desktop_logo .logo {
        width: 50px !important;
        height: auto !important;
        display: block !important;
    }

    /* ─── ИКОНКИ ВПРАВО: spacer через margin-left:auto на первом элементе после лого ─── */
    /* Поиск, аккаунт, корзина прижаты вправо */
    .header-nav .right-nav #search_widget {
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 42px !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    .header-nav .right-nav #search_widget form {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 42px !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        box-shadow: none !important;
        position: relative !important;
        box-sizing: border-box !important;
    }
    .header-nav .right-nav #search_widget input,
    .header-nav .right-nav #search_widget input[type="text"],
    .header-nav .right-nav #search_widget input[type="search"] {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .header-nav .right-nav #search_widget button,
    .header-nav .right-nav #search_widget form button,
    .header-nav .right-nav #search_widget form button[type="submit"] {
        all: unset !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 42px !important;
        cursor: pointer !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        clip: auto !important;
        clip-path: none !important;
        -webkit-tap-highlight-color: transparent !important;
        box-sizing: border-box !important;
    }
    .header-nav .right-nav #search_widget form button i,
    .header-nav .right-nav #search_widget form button .material-icons {
        font-size: 20px !important;
        color: #444 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: auto !important;
        line-height: 1 !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: static !important;
    }

    /* ─── АККАУНТ ─── */
    #_desktop_user_info {
        display: flex !important;
        align-items: center !important;
        height: 42px !important;
        flex-shrink: 0 !important;
    }
    #_desktop_user_info .user-info {
        display: inline-flex !important;
        align-items: center !important;
        position: static !important;
    }
    #_desktop_user_info .user-info a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 42px !important;
        width: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: none !important;
        border: none !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    #_desktop_user_info .user-info a::before {
        font-family: "Material Icons" !important;
        content: "\e853" !important;
        font-size: 20px !important;
        color: #444 !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-style: normal !important;
        font-weight: normal !important;
        font-feature-settings: "liga" !important;
        -webkit-font-smoothing: antialiased !important;
        transition: color 0.15s !important;
    }
    #_desktop_user_info .user-info a:active::before,
    #_desktop_user_info .user-info a:focus::before {
        color: #e87722 !important;
        outline: none !important;
    }
    #_desktop_user_info .user-info a span { display: none !important; }
    #_desktop_user_info .user-info a i { display: none !important; }
    #_desktop_user_info .ilze-account-dropdown { display: none !important; pointer-events: none !important; }

    /* ─── КОРЗИНА ─── */
    #_desktop_cart { flex-shrink: 0 !important; }
    #_desktop_cart .blockcart .header span:not(.cart-products-count) { display: none !important; }
    #_desktop_cart .blockcart .header,
    #_desktop_cart .blockcart .header a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 42px !important;
        width: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        position: relative !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    #_desktop_cart .blockcart .header .material-icons {
        font-size: 20px !important;
        color: #444 !important;
        line-height: 1 !important;
        display: block !important;
    }
    #_desktop_cart .blockcart .header .cart-products-count,
    #_desktop_cart .blockcart a .cart-products-count {
        all: unset !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        top: 9px !important;
        right: 3px !important;
        min-width: 16px !important;
        width: auto !important;
        height: 16px !important;
        padding: 0 3px !important;
        background: #e87722 !important;
        color: #fff !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        border-radius: 8px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        pointer-events: none !important;
        font-family: inherit !important;
    }

    /* Скролл-лок */
    body.ilze-mob-open { overflow: hidden !important; }

} /* конец @media (max-width: 991px) — блок с right-nav mobile rules */
/* ── МОБИЛЬ: новый flex-хедер ── */
@media (max-width: 991px) {

    /* Прячем старый desktop-хедер */
    #header .hidden-sm-down { display: none !important; }
    #header .header-top     { display: none !important; }

    /* ─── Строка: бургер | лого | spacer | иконки ─── */
    #ilze-mobile-bar {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        align-self: center !important;
        /* ── Универсальная привязка к viewport ──────────────────────────────
           Проблема: на разных страницах .container имеет разный padding
           (ps_facetedsearch добавляет 15px), из-за чего .row имеет разную
           ширину и бар смотрится по-разному.
           Решение: width:100vw даёт нам ровно ширину экрана.
           margin-left: calc(-50vw + 50%) выравнивает левый край к 0:
             — при container padding=0:  row=-15px, 50%=50vw+15→ ml=15→ 0+(-15+15)=0 ✓
             — при container padding=15: row=0px,   50%=50vw→   ml=0 →  0+0=0         ✓
           ─────────────────────────────────────────────────────────────── */
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        height: 42px !important;
        max-height: 42px !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        background: #fff !important;
        overflow: hidden !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }

    /* ─ Бургер — прижат к левому краю ─ */
    #ilze-mobile-bar #menu-icon {
        all: unset !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding-left: 6px !important;             /* ~6px от края экрана */
        width: 44px !important;
        height: 42px !important;
        flex: 0 0 44px !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        box-sizing: border-box !important;
    }
    #ilze-mobile-bar #menu-icon .material-icons {
        font-size: 22px !important;
        color: #444 !important;
        line-height: 1 !important;
        display: block !important;
    }
    #ilze-mobile-bar #menu-icon:active .material-icons { color: #e87722 !important; }

    /* ─ Кнопка домой — теперь в строке поиска, слева от поля.
       Круглая кнопка с лёгким оранжевым тинтом — читается как отдельный
       тапаемый элемент, а не "потерянная" иконка рядом с полем. ─ */
    #ilze-mob-home-slot {
        flex: 0 0 30px !important;
        width: 30px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 30px !important;
        margin-right: 8px !important;
        background: #fdf1e7 !important;
        border-radius: 50% !important;
        transition: background 0.15s !important;
    }
    .ilze-mob-home-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 30px !important;
        height: 30px !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent !important;
        color: #f26f21 !important;
        transition: color 0.15s !important;
    }
    .ilze-mob-home-btn svg {
        width: 17px !important;
        height: 17px !important;
        stroke: currentColor !important;
        fill: none !important;
        flex-shrink: 0 !important;
        display: block !important;
        transition: stroke 0.15s !important;
    }
    #ilze-mob-home-slot:active { background: #f26f21 !important; }
    #ilze-mob-home-slot:active .ilze-mob-home-btn,
    .ilze-mob-home-btn:active,
    .ilze-mob-home-btn:active svg { color: #fff !important; }

    /* ─ Spacer — занимает свободное пространство ─ */
    .ilze-mob-spacer {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    /* ─ Группа иконок справа ─ */
    .ilze-mob-icons {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        height: 42px !important;
        gap: 0 !important;
        padding-right: 6px !important;       /* ~6px от правого края — не впритык */
        flex-shrink: 1 !important;           /* можно сжать если не хватает места */
        overflow: hidden !important;         /* защита от переполнения на других страницах */
        min-width: 0 !important;
    }

    /* Каждый слот */
    .ilze-mob-icons > div {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 42px !important;
        max-height: 42px !important;
        overflow: hidden !important;
        position: relative !important;
        flex-shrink: 0 !important;
    }

    /* ─ ПОИСК: отдельный полноширинный бар под основным мобильным баром ─ */
    #ilze-mobile-search-bar {
        display: flex !important;
        align-items: center !important;
        /* Тот же приём, что и у #ilze-mobile-bar — .container на разных
           страницах имеет разный padding, поэтому ширину берём от viewport. */
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        padding: 6px 14px 8px !important;
        background: #fff !important;
        border-top: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 5 !important;
    }
    #ilze-mob-search-slot {
        width: 100% !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        height: 30px !important;
    }
    #ilze-mob-search-slot #search_widget,
    #ilze-mob-search-slot .search-widgets {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        height: 30px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    #ilze-mob-search-slot form {
        position: relative !important;
        width: 100% !important;
        height: 30px !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
    }
    /* Submit button — скрыт */
    #ilze-mob-search-slot button[type="submit"],
    #ilze-mob-search-slot button:not([type]) {
        display: none !important;
    }
    #ilze-mob-search-slot .material-icons.search {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        left: 11px !important;
        top: 0 !important;
        bottom: 0 !important;
        margin: auto 0 !important;
        height: 18px !important;
        line-height: 1 !important;
        font-size: 18px !important;
        color: #2b5474 !important;
        opacity: .55 !important;
        pointer-events: none !important;
    }
    #ilze-mob-search-slot input[type="text"],
    #ilze-mob-search-slot input[type="search"] {
        display: block !important;
        width: 100% !important;
        height: 30px !important;
        border: none !important;
        border-radius: 15px !important;
        background: #f2f3f5 !important;
        padding: 0 28px 0 34px !important;
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 30px !important;
        box-sizing: border-box !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transition: background .15s, box-shadow .15s !important;
    }
    #ilze-mob-search-slot input[type="text"]:focus,
    #ilze-mob-search-slot input[type="search"]:focus {
        background: #ebedf0 !important;
        box-shadow: 0 0 0 2px rgba(242,111,33,.18) !important;
        outline: none !important;
    }
    /* Крестик-очистка — показываем только если в поле реально есть текст */
    #ilze-mob-search-slot input:placeholder-shown ~ .material-icons.clear {
        display: none !important;
    }
    #ilze-mob-search-slot input:not(:placeholder-shown) ~ .material-icons.clear {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        right: 11px !important;
        top: 0 !important;
        bottom: 0 !important;
        margin: auto 0 !important;
        height: 18px !important;
        line-height: 1 !important;
        font-size: 18px !important;
        color: #999 !important;
        cursor: pointer !important;
    }

    /* ─ Аккаунт ─ */
    #ilze-mob-user-slot {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        flex: 0 0 40px !important;
    }
    #ilze-mob-user-slot .ilze-mob-account-link {
        all: unset !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 42px !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    #ilze-mob-user-slot .ilze-mob-account-link::before {
        font-family: "Material Icons" !important;
        content: "\e853" !important;
        font-size: 22px !important;
        color: #555 !important;
        line-height: 1 !important;
        font-style: normal !important;
        font-weight: normal !important;
        font-feature-settings: "liga" !important;
        -webkit-font-smoothing: antialiased !important;
        transition: color 0.15s !important;
    }
    #ilze-mob-user-slot .ilze-mob-account-link:active::before { color: #e87722 !important; }

    /* ─ Wishlist ─ */
    #ilze-mob-wishlist-slot {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        flex: 0 0 40px !important;
    }
    #ilze-mob-wishlist-slot a,
    #ilze-mob-wishlist-slot button {
        all: unset !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 42px !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        position: relative !important;
        padding: 0 !important;
        color: #555 !important;
    }
    #ilze-mob-wishlist-slot svg {
        width: 22px !important;
        height: 22px !important;
        fill: #555 !important;
        flex-shrink: 0 !important;
        transition: fill 0.15s !important;
        display: block !important;
    }
    #ilze-mob-wishlist-slot a:active svg { fill: #e87722 !important; }
    #ilze-mob-wishlist-slot .wishlist-nav-badge,
    #ilze-mob-wishlist-slot [class*="badge"] {
        position: absolute !important;
        top: 9px !important; right: 2px !important;
        min-width: 15px !important; height: 15px !important;
        padding: 0 2px !important;
        background: #e87722 !important; color: #fff !important;
        font-size: 9px !important; font-weight: 800 !important;
        border-radius: 8px !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
        pointer-events: none !important; box-sizing: border-box !important; line-height: 1 !important;
    }

    /* ─ Корзина ─ */
    #ilze-mob-cart-slot {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        flex: 0 0 40px !important;
    }
    #ilze-mob-cart-slot .ilze-mob-cart-header {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 42px !important;
        padding: 0 !important; margin: 0 !important;
        background: none !important; border: none !important;
    }
    #ilze-mob-cart-slot .ilze-mob-cart-header a {
        all: unset !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important; height: 42px !important;
        cursor: pointer !important;
        position: relative !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    #ilze-mob-cart-slot .material-icons {
        font-size: 22px !important;
        color: #555 !important;
        display: block !important;
        transition: color 0.15s !important;
    }
    #ilze-mob-cart-slot a:active .material-icons { color: #e87722 !important; }
    #ilze-mob-cart-slot span:not(.cart-products-count) { display: none !important; }
    #ilze-mob-cart-slot .cart-products-count {
        all: unset !important;
        position: absolute !important;
        top: 9px !important; right: 2px !important;
        min-width: 15px !important; height: 15px !important;
        padding: 0 2px !important;
        background: #e87722 !important; color: #fff !important;
        font-size: 9px !important; font-weight: 800 !important;
        border-radius: 8px !important;
        display: flex !important; align-items: center !important; justify-content: center !important;
        pointer-events: none !important; box-sizing: border-box !important; line-height: 1 !important;
    }

    /* ─ ЯЗЫК: переключатель языка — иконка + код ─ */
    #ilze-mob-lang-slot {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex: 0 0 44px !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }
    .ilze-mob-lang-btn {
        all: unset !important;
        display: inline-flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 42px !important;
        gap: 2px !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
        -webkit-tap-highlight-color: transparent !important;
        transition: opacity 0.15s !important;
    }
    .ilze-mob-lang-btn .material-icons {
        font-size: 20px !important;
        color: #555 !important;
        line-height: 1 !important;
        display: block !important;
        transition: color 0.15s !important;
    }
    .ilze-mob-lang-btn:active .material-icons { color: #e87722 !important; }
    .ilze-mob-lang-code {
        font-size: 9px !important;
        font-weight: 800 !important;
        color: #555 !important;
        letter-spacing: 0.8px !important;
        text-transform: uppercase !important;
        line-height: 1 !important;
        font-family: inherit !important;
        display: block !important;
        transition: color 0.15s !important;
    }
    .ilze-mob-lang-btn:active .ilze-mob-lang-code { color: #e87722 !important; }

    /* ─── RIGHT-NAV: растягиваем на всю строку ─── */

} /* конец второго @media (max-width: 991px) */

/* ── Выпадающий список языков (вне @media — fixed-позиционирован в body) ── */
.ilze-mob-lang-dropdown {
    display: none;
    position: fixed;
    z-index: 99999;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.16);
    padding: 6px 0;
    min-width: 70px;
    border: 1px solid #f0f0f0;
}
.ilze-mob-lang-dropdown.open { display: block; }
.ilze-mob-lang-item {
    display: block;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: color 0.15s, background 0.15s;
}
.ilze-mob-lang-item:hover,
.ilze-mob-lang-item.active  { color: #e87722; background: #fff8f3; }

/* ── МОБИЛЬ: контактная ссылка — только номер, без пояснительного текста ──
   ps_contactinfo иногда рендерит полное предложение перед ссылкой.
   font-size:0 на контейнере скрывает текстовые узлы;
   font-size на <a> восстанавливает читабельность самого номера.         */
#_mobile_contact_link #contact-link,
.js-top-menu-bottom #contact-link {
    font-size: 0 !important;
    white-space: nowrap !important;
}
#_mobile_contact_link #contact-link a,
.js-top-menu-bottom #contact-link a {
    font-size: 14px !important;
    color: #333 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
#_mobile_contact_link #contact-link a:hover,
.js-top-menu-bottom #contact-link a:hover { color: #e87722 !important; }

/* ── FOOTER: сброс светлых фонов Bootstrap/темы на collapse секциях ── */
#footer .footer-container .collapse,
#footer .footer-container .collapse.show,
#footer .footer-container [class*="collapse"] {
    background: transparent !important;
    background-color: transparent !important;
}
#footer .footer-container .links ul li a,
#footer .footer-container .account-list li a {
    color: rgba(255,255,255,0.65) !important;
}
#footer .footer-container .links ul li a:hover,
#footer .footer-container .account-list li a:hover {
    color: #fff !important;
}
/* Карточки Bootstrap внутри футера — сброс */
#footer .card,
#footer .card-body,
#footer .card-header {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    color: inherit !important;
}