/* spot_chrome.css — шапки, нижнее меню, подвал (волна 2 плана переноса холста).
   Доски: Main, Catalog, Ad, Lang (телефон); DesktopHome, DesktopHeaderStates (десктоп).
   Цвета и размеры — токены spot_ui.css. Подключается в head.tpl после styles.css, поэтому переопределяет движок
   без !important там, где хватает порядка. Классы движка, на которые завязан JS, не переименовываются. */

:root {
    --spot-nav-h: 62px;          /* нижнее меню без зоны «домой»: 8 + 50 + 4 (доска Main: 96 − 34) */
    --spot-dh-row-h: 72px;       /* белая строка шапки десктопа */
    --spot-dh-row-compact: 60px; /* она же при прокрутке вниз */
}

/* скрытый текст для экранных дикторов */
.spot-sr {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

/* ==========================================================================
   Телефон и планшет (< 992): шапка «Меню | логотип | RU · $», строка поиска, нижнее меню
   ========================================================================== */
@media (max-width: 991.98px) {

    .header-wow-mobile-top {
        box-sizing: border-box;
        height: var(--spot-header-h);
        border-bottom: 1px solid var(--spot-line);
        box-shadow: none;
        font-family: var(--spot-font);
    }

    .header-wow-mobile-top > .container {
        height: 100%;
        max-width: none;
        padding-right: 8px;
        padding-left: 8px;
    }

    /* три колонки: левая и правая одинаковой ширины — логотип строго по центру */
    .header-wow-mobile-top .header-flex-box {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
        align-items: center;
        height: 100%;
    }

    .header-wow-mobile-top .header-flex-box-mobile-1 {
        justify-self: start;
        display: flex;
        align-items: center;
        min-width: 0;
    }

    .header-wow-mobile-top .header-flex-box-mobile-3 {
        justify-self: end;
        display: flex;
        align-items: center;
        min-width: 0;
    }

    .header-wow-mobile-top .toolbar-link {
        height: var(--spot-tap);
    }

    .spot-mh-logo {
        display: flex;
        justify-content: center;
        min-width: 0;
    }

    .spot-mh-logo .h-logo {
        height: var(--spot-tap);
        display: flex;
        align-items: center;
    }

    .header-wow-mobile-top .spot-mh-logo .h-logo img {
        height: 30px;
        max-height: 30px;
        width: auto;
        max-width: 100%;
        object-fit: contain;
        display: block;
    }

    /* «Меню» слева: иконка и подпись одной кнопкой 44px */
    .header-wow-mobile-top .mobile-fixed-menu_all-menu-open {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        height: var(--spot-tap);
        padding: 0 6px;
        color: var(--spot-ink);
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
    }

    .header-wow-mobile-top .mobile-fixed-menu_all-menu-open svg {
        flex-shrink: 0;
        display: block;
    }

    .header-wow-mobile-top .action-user-route-back {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--spot-tap);
        height: var(--spot-tap);
        color: var(--spot-ink);
    }

    .header-wow-mobile-top .action-user-route-back i {
        font-size: 24px;
        color: var(--spot-ink);
    }

    /* «RU · $» справа */
    .spot-mh-lc {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        height: var(--spot-tap);
        padding: 0 8px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: var(--spot-ink);
        font-family: var(--spot-font);
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;
        cursor: pointer;
    }

    .spot-mh-lc svg {
        flex-shrink: 0;
    }

    /* строка поиска: настоящее поле на #EEF0F2 и кнопка «Параметры» рядом (доски Catalog/Main) */
    .header-wow-mobile .spot-header-search {
        box-sizing: border-box;
        height: var(--spot-search-h);
        max-width: none;
        padding: 8px 16px;
        background: var(--spot-surface);
        border-bottom: 1px solid var(--spot-line);
    }

    .header-wow-mobile-sticky-search {
        position: relative;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .header-wow-mobile-sticky-search input[type='text'] {
        flex: 1 1 auto;
        min-width: 0;
        height: 44px;
        padding: 0 42px 0 12px;
        border: 1px solid transparent;
        border-radius: 14px;
        background: var(--spot-field);
        color: var(--spot-ink);
        font-family: var(--spot-font);
        font-weight: 400;
        -webkit-appearance: none;
        appearance: none;
    }

    .header-wow-mobile-sticky-search input[type='text']::placeholder {
        color: var(--spot-mut);
        opacity: 1;
    }

    .header-wow-mobile-sticky-search input:focus {
        border-color: transparent !important;
        box-shadow: 0 0 0 2px var(--spot-focus);
    }

    .header-wow-mobile-sticky-search .header-wow-mobile-sticky-search-icon {
        right: 0;
        width: 42px;
        padding: 0 4px 0 0;
        color: var(--spot-mut);
        z-index: 1;
    }

    .header-wow-mobile-sticky-search .sticky-search-control-geo {
        position: static;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        height: 44px;
        padding: 0 12px;
        border-radius: 14px;
        background: var(--spot-field);
        color: var(--spot-ink);
        font-size: 14px;
        font-weight: 700;
        white-space: nowrap;
        cursor: pointer;
    }

    .spot-mh-filter-label {
        font-weight: 700;
    }

    /* нижнее меню (доска Main): пять равных колонок, «Подать» — красный круг, выступающий над полосой */
    .floating-menu.spot-tabbar {
        text-align: initial;
    }

    .spot-tabbar .floating-menu-box {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: end;
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        padding-top: 6px;
        border-top: 1px solid var(--spot-line);
        border-radius: 0;
        background: var(--spot-surface);
        box-shadow: none;
        font-family: var(--spot-font);
    }

    .spot-tabbar .floating-menu-box > a {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        min-width: 0;
        height: 52px;
        margin: 0;
        padding: 0;
        color: var(--spot-mut);
        text-decoration: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .spot-tabbar .floating-menu-box > a:hover {
        color: var(--spot-mut);
    }

    .spot-tabbar .floating-menu-box > a > div {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3px;
        min-width: 0;
        max-width: 100%;
        padding-bottom: 2px;
    }

    .spot-tabbar .floating-menu-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
    }

    .spot-tabbar .floating-menu-icon svg {
        display: block;
    }

    .spot-tabbar .floating-menu-icon-title {
        max-width: 100%;
        margin: 0;
        overflow: hidden;
        font-size: 11px;
        line-height: 13px;
        font-weight: 500;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .spot-tabbar .floating-menu-box > a.spot-tab-on {
        color: var(--spot-red-fg);
    }

    .spot-tabbar .floating-menu-box > a.spot-tab-on .floating-menu-icon-title {
        font-weight: 700;
    }

    .spot-tabbar .spot-tab-add .floating-menu-icon.css-qewr2332 {
        top: auto;
        width: 56px;
        height: 56px;
        margin-top: -26px;
        border-radius: 28px;
        background-color: var(--spot-red);
        color: #fff;
        box-shadow: 0 0 0 4px var(--spot-surface);
    }

    .spot-tabbar .label-count-message {
        top: -6px;
        left: -12px;
    }

    /* узкие телефоны: длинные подписи (hy, kk, uz, ky) — мельче, остаток многоточием */
    @media (max-width: 374.98px) {
        .spot-tabbar .floating-menu-icon-title {
            font-size: 10px;
            letter-spacing: -.1px;
        }
    }

    .spot-tabbar .floating-menu-box > a:focus-visible {
        outline: 2px solid var(--spot-focus);
        outline-offset: -2px;
    }
}

/* «Подать»: прежняя анимация фона (red ↔ black) заменена на спокойную пульсацию в фирменном красном.
   Имя ключевых кадров то же — тест reduced-motion и styles.css продолжают на него опираться. */
@keyframes changeBackgroundColor {
    0%,
    100% {
        background-color: var(--spot-red);
    }

    50% {
        background-color: var(--spot-red-dark);
    }
}

/* ==========================================================================
   Лист «Язык и валюта» (доска Lang). Телефон — шторка снизу; десктоп — окно под кнопкой «RU · $»
   ========================================================================== */
.spot-lc[hidden] {
    display: none !important;
}

.spot-lc {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    align-items: flex-end;
    font-family: var(--spot-font);
    color: var(--spot-ink);
}

.spot-lc-scrim {
    position: absolute;
    inset: 0;
    background: var(--spot-scrim);
}

.spot-lc-panel {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-height: calc(100% - 40px - var(--spot-safe-top, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 calc(16px + var(--spot-safe-left, 0px)) calc(16px + var(--spot-safe-bottom, 0px)) calc(16px + var(--spot-safe-right, 0px));
    border-radius: var(--spot-radius-sheet) var(--spot-radius-sheet) 0 0;
    background: var(--spot-surface);
    box-shadow: var(--spot-shadow-sheet);
}

.spot-lc-head {
    position: sticky;
    top: 0;
    z-index: 1;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    min-height: 60px;
    padding-top: 10px;
    background: var(--spot-surface);
}

.spot-lc-grab {
    position: absolute;
    top: 8px;
    right: 50%;
    width: 36px;
    height: 4px;
    border-radius: 2px;
    background: var(--spot-line);
    transform: translateX(50%);
}

.spot-lc-title {
    grid-column: 2;
    text-align: center;
    font-size: 17px;
    line-height: 22px;
    font-weight: 700;
}

.spot-lc-close {
    position: relative;
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: var(--spot-bg);
    color: var(--spot-ink);
    cursor: pointer;
}

.spot-lc-close::after {
    content: "";
    position: absolute;
    inset: -6px;
}

.spot-lc-caption {
    margin: 12px 0 8px;
    color: var(--spot-mut);
    font-size: 13px;
    font-weight: 600;
}

.spot-lc-seg {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 4px;
    border-radius: 14px;
    background: var(--spot-field);
}

.spot-lc-seg .spot-lc-cur {
    height: 44px;
    padding: 0 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--spot-mut);
    font-family: var(--spot-font);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.spot-lc-seg .spot-lc-cur[aria-pressed="true"],
.spot-lc-seg .spot-lc-cur.selected-button {
    background: var(--spot-surface);
    color: var(--spot-ink);
    font-weight: 700;
    box-shadow: 0 1px 3px rgba(20, 22, 26, .10);
}

.spot-lc-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.spot-lc-list .spot-lc-item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 52px;
    padding: 0 12px;
    border-radius: var(--spot-radius);
    color: var(--spot-ink);
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.spot-lc-list .spot-lc-item-on {
    background: var(--spot-red-soft);
}

.spot-lc-flag {
    flex: 0 0 26px;
    width: 26px;
    height: 18px;
    object-fit: cover;
    border-radius: 3px;
}

.spot-lc-flag-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--spot-bg);
    color: var(--spot-ink-2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .5px;
}

.spot-lc-name {
    flex: 1 1 auto;
    min-width: 0;
}

.spot-lc-check {
    flex-shrink: 0;
    color: var(--spot-red-fg);
}

.spot-lc-btn:focus-visible,
.spot-lc-item:focus-visible,
.spot-lc-cur:focus-visible,
.spot-lc-close:focus-visible {
    outline: 2px solid var(--spot-focus);
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .spot-lc-list .spot-lc-item:hover {
        background: var(--spot-bg);
        color: var(--spot-ink);
    }

    .spot-lc-list .spot-lc-item-on:hover {
        background: var(--spot-red-soft);
    }
}

/* ==========================================================================
   Десктоп (≥ 992): белая строка 72px + светло-серая полоса категорий 54px (доска DesktopHeaderStates)
   ========================================================================== */
@media (min-width: 992px) {

    .spot-lc {
        inset: auto;
        top: var(--spot-lc-top, 64px);
        left: var(--spot-lc-right, 48px);
        display: block;
        width: 320px;
    }

    .spot-lc-scrim,
    .spot-lc-grab {
        display: none;
    }

    .spot-lc-panel {
        max-height: calc(100vh - var(--spot-lc-top, 64px) - 16px);
        padding: 0 12px 12px;
        border: 1px solid var(--spot-line);
        border-radius: var(--spot-radius-l);
        box-shadow: 0 12px 32px rgba(20, 22, 26, .16);
    }

    .spot-lc-head {
        grid-template-columns: minmax(0, 1fr) 32px;
        min-height: 52px;
        padding-top: 4px;
    }

    .spot-lc-title {
        grid-column: 1;
        text-align: right;
        font-size: 15px;
        padding-right: 4px;
    }

    .spot-lc-close {
        grid-column: 2;
    }

    .spot-lc-caption {
        margin: 6px 4px 6px;
    }

    .spot-lc-seg .spot-lc-cur {
        height: 38px;
        font-size: 14px;
    }

    .spot-lc-list .spot-lc-item {
        min-height: 44px;
        font-size: 15px;
    }

    /* каркас: в потоке шапка занимает прежние 140px (126 + отступ 14), чтобы страницы не сдвинулись */
    .header-wow.spot-dh .header-wow-sticky {
        height: calc(var(--spot-dh-row-h) + var(--spot-nav-desktop-h));
        background: var(--spot-surface);
    }

    /* белый фон только под строкой 72px: ниже в контейнере лежит панель фильтров каталога с z-index:-1 (catalog_sidebar.tpl) */
    .header-wow.spot-dh .header-wow-sticky-container {
        height: auto;
        padding: 0;
        background: linear-gradient(var(--spot-surface), var(--spot-surface)) no-repeat 0 0 / 100% var(--spot-dh-row-h);
        font-family: var(--spot-font);
    }

    body.spot-dh-compact .header-wow.spot-dh .header-wow-sticky-container.header-wow-sticky-active {
        background-size: 100% var(--spot-dh-row-compact);
    }

    .header-wow.spot-dh .header-wow-sticky-container.header-wow-sticky-active {
        box-shadow: 0 1px 0 var(--spot-line), 0 4px 12px rgba(20, 22, 26, .06);
    }

    .header-wow.spot-dh > .mt60 {
        margin-top: 14px;
    }

    .spot-dh-row {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 12px;
        max-width: 1440px;
        height: var(--spot-dh-row-h);
        margin: 0 auto;
        padding: 0 var(--spot-gutter-desktop);
        transition: height .2s ease;
    }

    .spot-dh-logo {
        flex-shrink: 0;
        height: 44px;
        display: flex;
        align-items: center;
    }

    .spot-dh-row .spot-dh-logo img {
        height: 36px;
        max-height: 36px;
        width: auto;
        display: block;
        margin: 0;
    }

    /* город — сразу после логотипа, без фона */
    .spot-dh-row .spot-dh-city {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        gap: 6px;
        min-width: 0;
        max-width: 190px;
        height: 44px;
        margin-right: 8px;
        padding: 0 12px;
        border: 0;
        border-radius: var(--spot-radius);
        background: transparent;
        color: var(--spot-ink);
        font-family: var(--spot-font);
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
    }

    .spot-dh-city-pin {
        flex-shrink: 0;
        color: var(--spot-red-fg);
    }

    .spot-dh-city-name {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .spot-dh-chev {
        flex-shrink: 0;
        color: var(--spot-mut);
        transition: transform .15s ease;
    }

    /* город: поповер под кнопкой — тот же вид, что у окна «Язык и валюта» (.spot-lc на десктопе): карточка 16px,
       рамка, тень, строка заголовка с ✕, сегменты стран как «Цены в $ / ₾», строки городов как строки языков
       (выбранный — розовый фон и галочка). Левый край — по кнопке, spot_chrome.js сдвигает влево, если не помещается,
       и задаёт высоту по окну. z-index выше полосы категорий (.spot-dnav, z-index:1) внутри общего контекста шапки.
       Классы движка .container-search-geo / .sticky-search-geo-input на поповере не используются: их показывает и прячет
       vendor.js (из-за этого без стилей поповера поле поиска выпадало под кнопку поверх полосы категорий). */
    .spot-dh-city-wrap {
        position: relative;
        z-index: 3;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        margin-right: 8px;
    }

    .spot-dh-city-wrap .spot-dh-city {
        margin-right: 0;
    }

    .spot-dh-city[aria-expanded="true"] {
        background: var(--spot-bg);
    }

    .spot-dh-city[aria-expanded="true"] .spot-dh-chev {
        transform: rotate(-180deg);
    }

    .spot-dh-geo-pop[hidden] {
        display: none !important;
    }

    .spot-dh-geo-pop {
        position: absolute;
        top: calc(100% + 8px);
        right: var(--spot-geo-shift, 0px);
        z-index: 1100;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        width: 720px;
        max-width: calc(100vw - 32px);
        max-height: var(--spot-geo-max-h, calc(100vh - 96px));
        overflow: hidden;
        border: 1px solid var(--spot-line);
        border-radius: var(--spot-radius-l);
        background: var(--spot-surface);
        box-shadow: 0 12px 32px rgba(20, 22, 26, .16);
        color: var(--spot-ink);
        font-family: var(--spot-font);
        text-align: right;
        line-height: normal;
    }

    .spot-dh-geo-head {
        flex-shrink: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 32px;
        align-items: center;
        min-height: 52px;
        padding: 4px 16px 0 12px;
    }

    .spot-dh-geo-title {
        font-size: 15px;
        line-height: 22px;
        font-weight: 700;
    }

    .spot-dh-geo-x {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        padding: 0;
        border: 0;
        border-radius: 16px;
        background: var(--spot-bg);
        color: var(--spot-ink);
        cursor: pointer;
    }

    .spot-dh-geo-x::after {
        content: "";
        position: absolute;
        inset: -6px;
    }

    /* поиск внутри окна: поле #EEF0F2, лупа слева, «Отмена» (очистить) справа — только когда есть текст */
    .spot-dh-geo-search {
        position: relative;
        flex-shrink: 0;
        margin: 4px 12px 0;
    }

    .spot-dh-geo-search > svg {
        position: absolute;
        top: 12px;
        right: 14px;
        color: var(--spot-mut);
        pointer-events: none;
    }

    .spot-dh-geo-pop input.spot-dh-geo-input {
        box-sizing: border-box;
        display: block;
        width: 100%;
        height: 44px;
        margin: 0;
        padding: 0 44px 0 96px;
        border: 1px solid transparent;
        border-radius: var(--spot-radius);
        background: var(--spot-field);
        box-shadow: none;
        color: var(--spot-ink);
        font-family: var(--spot-font);
        font-size: 14px;
        outline: none;
    }

    .spot-dh-geo-input::placeholder {
        color: var(--spot-mut);
        opacity: 1;
    }

    .spot-dh-geo-pop input.spot-dh-geo-input:focus {
        border-color: var(--spot-focus);
    }

    .spot-dh-geo-clear {
        position: absolute;
        top: 4px;
        left: 4px;
        height: 36px;
        padding: 0 12px;
        border: 0;
        border-radius: var(--spot-radius-s);
        background: transparent;
        color: var(--spot-ink);
        font-family: var(--spot-font);
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
    }

    .spot-dh-geo-clear[hidden] {
        display: none;
    }

    /* прокручивается только список; сегменты стран прилипают к его верху */
    .spot-dh-geo-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 0 12px 12px;
    }

    .spot-dh-geo-pop .sticky-search-geo-list,
    .spot-dh-geo-pop .sticky-search-geo-results {
        position: static;
        width: auto;
        margin: 0;
        padding: 0;
        box-shadow: none;
        border-radius: 0;
        background: transparent;
        max-height: none;
        overflow: visible;
    }

    .spot-dh-geo-pop .sticky-search-geo-results {
        margin-top: 8px;
    }

    /* страны (Geo::cityDefault: .row > .col > .item-country-hover) — сегменты, как «Цены в $ / ₾» */
    .spot-dh-geo-pop .sticky-search-geo-list > .row:not(.modal-country-container) {
        position: sticky;
        top: 0;
        z-index: 1;
        display: flex;
        gap: 4px;
        margin: 0 -12px;
        padding: 12px 12px 8px;
        background: var(--spot-surface);
    }

    .spot-dh-geo-pop .sticky-search-geo-list > .row:not(.modal-country-container)::before {
        content: "";
        position: absolute;
        inset: 12px 12px 8px;
        z-index: -1;
        border-radius: 14px;
        background: var(--spot-field);
    }

    .spot-dh-geo-pop .sticky-search-geo-list > .row:not(.modal-country-container) > div {
        flex: 1 1 0;
        width: auto;
        max-width: none;
        min-width: 0;
        padding: 0;
    }

    .spot-dh-geo-pop .sticky-search-geo-list > .row:not(.modal-country-container) > div:first-child {
        padding-right: 4px;
    }

    .spot-dh-geo-pop .sticky-search-geo-list > .row:not(.modal-country-container) > div:last-child {
        padding-left: 4px;
    }

    .spot-dh-geo-pop .sticky-search-geo-list .item-city-country {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 38px;
        margin: 4px 0;
        padding: 0 10px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        color: var(--spot-mut);
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        cursor: pointer;
    }

    .spot-dh-geo-pop .sticky-search-geo-list .item-city-country.active,
    .spot-dh-geo-pop .sticky-search-geo-list .item-city-country[aria-pressed="true"] {
        background: var(--spot-surface);
        color: var(--spot-ink);
        font-weight: 700;
        box-shadow: 0 1px 3px rgba(20, 22, 26, .10);
    }

    .spot-dh-geo-pop .sticky-search-geo-list > hr {
        display: none;
    }

    .spot-dh-geo-pop .sticky-search-geo-list > .row[hidden] {
        display: none !important;
    }

    /* города — три колонки CSS вместо сетки bootstrap, чтобы отфильтрованные строки не оставляли дыр */
    .spot-dh-geo-pop .modal-country-container {
        display: block;
        margin: 4px 0 0;
        column-count: 3;
        column-gap: 8px;
    }

    .spot-dh-geo-pop .modal-country-container[aria-busy="true"] {
        opacity: .5;
        transition: opacity .15s ease .1s;
    }

    .spot-dh-geo-pop .modal-country-container > div {
        display: contents;
    }

    .spot-dh-geo-pop .sticky-search-geo-list .item-city,
    .spot-dh-geo-pop .sticky-search-geo-results > .item-city {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 8px;
        min-height: 40px;
        margin: 0 0 2px;
        padding: 6px 12px;
        border-radius: var(--spot-radius);
        color: var(--spot-ink);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.3;
        break-inside: avoid;
        cursor: pointer;
    }

    .spot-dh-geo-pop .sticky-search-geo-results > .item-city {
        display: block;
    }

    .spot-dh-geo-pop .sticky-search-geo-list .item-city.spot-geo-on,
    .spot-dh-geo-pop .sticky-search-geo-results > .item-city.spot-geo-on {
        background: var(--spot-red-soft);
    }

    /* галочка выбранного — как в списке языков (.spot-lc-check) */
    .spot-dh-geo-pop .item-city.spot-geo-on::after {
        content: "";
        flex-shrink: 0;
        width: 18px;
        height: 18px;
        margin-right: auto;
        background: var(--spot-red);
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    .spot-dh-geo-pop .sticky-search-geo-results > .item-city.spot-geo-on::after {
        display: none;
    }

    .spot-dh-geo-pop .item-city[hidden] {
        display: none !important;
    }

    .spot-dh-geo-pop .sticky-search-geo-results > .item-city strong {
        font-size: 14px;
        font-weight: 600;
    }

    .spot-dh-geo-pop .sticky-search-geo-results .span-subtitle {
        color: var(--spot-mut);
        font-size: 13px;
        font-weight: 500;
    }

    .spot-dh-geo-pop .item-city:focus-visible,
    .spot-dh-geo-pop .item-city-country:focus-visible,
    .spot-dh-geo-x:focus-visible,
    .spot-dh-geo-clear:focus-visible {
        outline: 2px solid var(--spot-focus);
        outline-offset: -2px;
    }

    .spot-dh-geo-empty {
        margin: 16px 4px 4px;
        color: var(--spot-mut);
        font-size: 14px;
    }

    .spot-dh-geo-empty[hidden] {
        display: none;
    }

    /* поиск: поле на #EEF0F2 между городом и кнопками справа */
    .spot-dh-row .spot-dh-search {
        position: relative;
        flex: 1 1 auto;
        min-width: 160px;
        max-width: 520px;
        margin: 0 4px 0 8px;
    }

    .spot-dh-search .header-wow-sticky-search input[type='text'] {
        height: 44px;
        padding: 0 44px 0 14px;
        border: 1px solid transparent;
        border-radius: var(--spot-radius);
        background: var(--spot-field);
        color: var(--spot-ink);
        font-family: var(--spot-font);
        font-size: 14px;
    }

    .spot-dh-search .header-wow-sticky-search input[type='text']::placeholder {
        color: var(--spot-mut);
        opacity: 1;
    }

    .spot-dh-search .header-wow-sticky-search input:focus {
        border-color: var(--spot-focus) !important;
    }

    .spot-dh-search .header-wow-sticky-search-icon {
        padding: 0 14px 0 10px;
        color: var(--spot-mut);
    }

    .spot-dh-search .sticky-search-control-geo,
    .spot-dh-search .sticky-search-control-geo-area {
        top: 2px;
        left: 2px;
        bottom: 2px;
        border-radius: 10px 0 0 10px;
        background: var(--spot-field);
        font-size: 14px;
    }

    /* кнопки справа */
    .spot-dh-row .spot-dh-actions {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-shrink: 0;
        margin: 0 auto 0 0;
    }

    .spot-dh-actions .toolbar-link {
        height: auto;
        display: flex;
        align-items: center;
    }

    .spot-dh-lc {
        display: flex;
        align-items: center;
        gap: 6px;
        height: 44px;
        padding: 0 10px;
        border: 1px solid var(--spot-line);
        border-radius: var(--spot-radius);
        background: var(--spot-surface);
        color: var(--spot-ink);
        font-family: var(--spot-font);
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap;
        cursor: pointer;
    }

    .spot-dh-lc[aria-expanded="true"] {
        border-color: var(--spot-ink);
    }

    .spot-dh-actions .spot-dh-icon {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        border-radius: var(--spot-radius);
        color: var(--spot-ink);
        cursor: pointer;
    }

    .spot-dh-actions .spot-dh-icon .toolbar-link-title-icon-box {
        display: flex;
    }

    .spot-dh-actions .spot-dh-icon .label-count-message {
        top: -8px;
        left: -10px;
    }

    .spot-dh-actions .header-wow-sticky-auth {
        height: 44px;
        padding: 0 16px;
        border-radius: var(--spot-radius);
        background: var(--spot-bg);
        color: var(--spot-ink);
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap;
        cursor: pointer;
    }

    .spot-dh-actions .header-wow-sticky-add {
        gap: 6px;
        height: 44px;
        padding: 0 14px 0 18px;
        border-radius: var(--spot-radius);
        background: var(--spot-red);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        white-space: nowrap;
        text-decoration: none;
    }

    .spot-dh-actions .header-wow-sticky-add:active {
        background: var(--spot-red-dark);
    }

    /* вошедший: аватар 36px и меню кабинета движка */
    .spot-dh-actions .toolbar-link-profile .mini-avatar,
    .spot-dh-actions .toolbar-link-profile .mini-avatar-img,
    .spot-dh-actions .toolbar-link-profile .mini-avatar-img img {
        width: 36px;
        height: 36px;
    }

    .spot-dh-actions .toolbar-link-profile .toolbar-dropdown > span {
        display: flex;
        align-items: center;
        height: 44px;
        cursor: pointer;
    }

    .spot-dh-actions .toolbar-link-profile .toolbar-dropdown-box {
        top: 50px;
    }

    @media (hover: hover) and (pointer: fine) {
        .spot-dh-city:hover,
        .spot-dh-actions .spot-dh-icon:hover {
            background: var(--spot-bg);
            color: var(--spot-ink);
        }

        .spot-dh-geo-pop .sticky-search-geo-list .item-city:hover,
        .spot-dh-geo-pop .sticky-search-geo-results > .item-city:hover {
            background: var(--spot-bg);
            color: var(--spot-ink);
        }

        .spot-dh-geo-pop .sticky-search-geo-list .item-city.spot-geo-on:hover {
            background: var(--spot-red-soft);
        }

        .spot-dh-geo-pop .sticky-search-geo-list .item-city-country:not(.active):hover {
            color: var(--spot-ink);
        }

        .spot-dh-geo-clear:hover {
            color: var(--spot-red-fg);
        }

        .spot-dh-geo-x:hover {
            background: var(--spot-field);
        }

        .spot-dh-lc:hover {
            border-color: var(--spot-field-border);
        }

        .spot-dh-actions .header-wow-sticky-auth:hover {
            background: var(--spot-field);
            opacity: 1;
        }

        .spot-dh-actions .header-wow-sticky-add:hover {
            background: var(--spot-red-dark);
            color: #fff;
            opacity: 1;
        }
    }

    /* полоса категорий */
    .spot-dnav.header-wow-top {
        position: relative;
        z-index: 1;
        height: var(--spot-nav-desktop-h);
        margin: 0;
        padding: 0;
        overflow: hidden;
        background: var(--spot-nav);
        box-shadow: inset 0 -1px 0 var(--spot-line);
        font-family: var(--spot-font);
        transition: height .2s ease;
    }

    /* шапка магазина (ветка shop в header.tpl) не перестраивалась: полоса, как раньше, на 17px ниже строки 80px */
    .header-wow:not(.spot-dh) .spot-dnav.header-wow-top {
        margin-top: 17px;
    }

    .spot-dnav-in {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 8px;
        max-width: 1440px;
        height: var(--spot-nav-desktop-h);
        margin: 0 auto;
        padding: 0 calc(var(--spot-gutter-desktop) - 10px) 0 var(--spot-gutter-desktop);
    }

    .spot-dnav-list {
        position: relative;
        display: flex;
        flex: 1 1 auto;
        min-width: 0;
        height: var(--spot-nav-desktop-h);
        overflow-x: auto;
        scrollbar-width: none;
    }

    .spot-dnav-list::-webkit-scrollbar {
        display: none;
    }

    /* категории не поместились: мягкий край справа (JS ставит класс, если список шире полосы) */
    .spot-dnav-list.spot-dnav-fade {
        -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);
        mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);
    }

    .spot-dnav-list .spot-dnav-link {
        flex-shrink: 0;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        height: var(--spot-nav-desktop-h);
        padding: 0 10px;
        color: var(--spot-ink-2);
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;
        text-decoration: none;
    }

    /* подчёркивание тенью: на каталоге встроенный стиль «div a { border: none !important }» снимает рамки ссылок */
    .spot-dnav-list .spot-dnav-link-on {
        box-shadow: inset 0 -3px 0 var(--spot-ink);
        color: var(--spot-ink);
        font-weight: 700;
    }

    .spot-dnav-side {
        display: flex;
        flex-shrink: 0;
        align-items: center;
        gap: 8px;
    }

    .spot-dnav-side .spot-dnav-pill {
        display: flex;
        align-items: center;
        height: 44px;
        text-decoration: none;
    }

    .spot-dnav-pill > span {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        gap: 6px;
        height: 36px;
        padding: 0 12px;
        border-radius: 18px;
        box-shadow: inset 0 0 0 1.5px var(--spot-ink);
        color: var(--spot-ink);
        font-size: 13px;
        font-weight: 700;
        white-space: nowrap;
    }

    .spot-dnav-link:focus-visible,
    .spot-dnav-pill:focus-visible {
        outline: 2px solid var(--spot-focus);
        outline-offset: -2px;
    }

    @media (hover: hover) and (pointer: fine) {
        .spot-dnav-list .spot-dnav-link:hover {
            color: var(--spot-ink);
            text-decoration: none;
        }

        .spot-dnav-side .spot-dnav-pill:hover > span {
            background: var(--spot-surface);
        }
    }

    /* прокрутка вниз: белая строка 60px, полоса категорий прячется; вверх — возвращается (spot_chrome.js) */
    body.spot-dh-compact .spot-dh .header-wow-sticky-active .spot-dh-row {
        height: var(--spot-dh-row-compact);
    }

    body.spot-dh-compact .spot-dh .header-wow-sticky-active .spot-dnav.header-wow-top {
        height: 0;
        box-shadow: none;
    }
}

/* 992–1279: поля 24px, город короче (доска DesktopHeaderStates, 1024) */
@media (min-width: 992px) and (max-width: 1279.98px) {
    .spot-dh-row,
    .spot-dnav-in {
        padding-right: 24px;
        padding-left: 24px;
    }

    .spot-dnav-in {
        padding-right: 14px;
    }

    .spot-dh-row {
        gap: 8px;
    }

    .spot-dh-row .spot-dh-city {
        max-width: 170px;
        margin-right: 0;
    }

    .spot-dh-row .spot-dh-city-wrap {
        margin-right: 0;
    }

    .spot-dh-row .spot-dh-actions {
        gap: 8px;
    }

    .spot-dh-actions .header-wow-sticky-add {
        padding: 0 12px 0 14px;
    }
}

@media (min-width: 992px) and (max-width: 1139.98px) {
    /* узкий десктоп: поиск не короче 160px — подпись «Разместить бесплатно» мельче, логотип ниже */
    .spot-dh-row .spot-dh-logo img {
        height: 30px;
    }

    .spot-dh-actions .header-wow-sticky-add,
    .spot-dh-actions .header-wow-sticky-auth,
    .spot-dh-lc {
        font-size: 13px;
    }

    .spot-dh-actions .header-wow-sticky-add svg {
        display: none;
    }
}

/* ==========================================================================
   Подвал (доски Main и DesktopHome)
   ========================================================================== */
.footer-bg.spot-ft {
    margin-top: 32px;
    border-top: 1px solid var(--spot-line);
    background: var(--spot-surface);
    font-family: var(--spot-font);
}

.spot-ft footer {
    padding: 24px calc(16px + var(--spot-safe-left, 0px)) 24px calc(16px + var(--spot-safe-right, 0px));
}

.spot-ft-in {
    display: flex;
    flex-direction: column;
}

.spot-ft-logo {
    display: inline-flex;
    align-self: flex-start;
}

.spot-ft-logo img {
    display: block;
    height: 26px;
    width: auto;
    margin-bottom: 8px;
}

.spot-ft .spot-ft-copy-top,
.spot-ft .spot-ft-col-buy,
.spot-ft .spot-ft-col-sell,
.spot-ft .spot-ft-h {
    display: none;
}

.spot-ft-col {
    display: flex;
    flex-direction: column;
}

.spot-ft-col a {
    display: block;
    align-self: flex-start;
    padding: 11px 0;
    color: var(--spot-ink-2);
    font-size: 15px;
    line-height: 22px;
    text-decoration: none;
}

.spot-ft-ext {
    margin-right: 6px;
    vertical-align: -2px;
    color: var(--spot-mut);
}

/* index.tpl закрывает обёртки так, что подвал оказывается внутри .container — тогда поля даёт он */
.container .spot-ft footer,
.container .spot-ft-in {
    padding-right: 0;
    padding-left: 0;
}

.spot-ft .spot-ft-copy-bottom {
    margin: 12px 0 0;
    color: var(--spot-mut);
    font-size: 13px;
}

.spot-ft .footer-list-social {
    margin-top: 12px;
}

/* счётчик top.ge (code_script) под ©: рамка под кнопку 88×31, чтобы битая или заблокированная картинка не растягивала строку alt-текстом */
.spot-ft-counter {
    margin-top: 12px;
    line-height: 0;
}

.spot-ft-counter #top-ge-counter-container {
    display: block;
    width: 88px;
    height: 31px;
    overflow: hidden;
}

.spot-ft-counter #top-ge-counter-container a {
    display: block;
    width: 88px;
    height: 31px;
}

.spot-ft-counter #top-ge-counter-container img {
    display: block;
    width: 88px;
    height: 31px;
    color: transparent;
    font-size: 0;
}

@media (hover: hover) and (pointer: fine) {
    .spot-ft-col a:hover {
        color: var(--spot-red-fg);
        text-decoration: none;
    }
}

@media (min-width: 992px) {
    .footer-bg.spot-ft {
        margin-top: 48px;
    }

    .spot-ft footer {
        padding: 40px 0 44px;
    }

    .spot-ft-in {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 1.36fr 1fr 1fr 1fr;
        column-gap: 24px;
        align-items: start;
        max-width: 1440px;
        margin: 0 auto;
        padding: 0 var(--spot-gutter-desktop);
    }

    /* левая колонка: логотип и © в первой строке, счётчик — сразу под ними; колонки ссылок занимают обе строки */
    .spot-ft-in {
        grid-template-rows: auto 1fr;
    }

    .spot-ft-brand {
        grid-column: 1;
        grid-row: 1;
    }

    .spot-ft-in > .spot-ft-col {
        grid-row: 1 / span 2;
    }

    .spot-ft-in > .spot-ft-counter {
        grid-column: 1;
        grid-row: 2;
        align-self: start;
    }

    .spot-ft .spot-ft-copy-top {
        display: block;
        margin: 6px 0 0;
        color: var(--spot-ink-2);
        font-size: 13px;
    }

    .spot-ft .spot-ft-col-buy,
    .spot-ft .spot-ft-col-sell {
        display: flex;
    }

    .spot-ft .spot-ft-h {
        display: block;
        margin-bottom: 6px;
        color: var(--spot-ink);
        font-size: 14px;
        line-height: 20px;
        font-weight: 700;
    }

    .spot-ft-col a {
        padding: 8px 0;
        font-size: 14px;
        line-height: 20px;
    }

    .spot-ft .spot-ft-rent-m,
    .spot-ft .spot-ft-copy-bottom {
        display: none;
    }
}

@media (min-width: 992px) and (max-width: 1279.98px) {
    .spot-ft-in {
        padding: 0 24px;
    }
}

@media (min-width: 992px) {
    .container .spot-ft-in {
        padding-right: 0;
        padding-left: 0;
    }
}

/* без анимаций для «уменьшить движение» */
@media (prefers-reduced-motion: reduce) {
    .spot-dh-row,
    .spot-dnav.header-wow-top {
        transition: none;
    }
}

/* открыт лист «Язык и валюта» на телефоне: страница под ним не прокручивается */
html.spot-lc-open,
html.spot-lc-open body {
    overflow: hidden;
}

/* Счётчик top.ge на страницах без подвала — виден внизу страницы (07.10: правило top.ge, скрывать картинку нельзя). */
.spot-ft-counter-bare { display: flex; justify-content: center; margin: 0; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); }

/* Узкие телефоны (≤360): подпись «Меню» (длинная на грузинском — «მენიუ») прячем визуально, кнопка остаётся с aria-подписью. */
@media (max-width: 360px) {
  .spot-mh-menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
}
