﻿/* Мобильная адаптация */
:root {
    --mobile-buybar-h: 60px;
    --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
    --mobile-stack-bottom: var(--mobile-safe-bottom);
}

.mobile-header-top,
.mobile-drawer,
.mobile-buy-bar {
    display: none;
}

@media (max-width: 768px) {
    html {
        scrollbar-gutter: auto;
        overflow-x: hidden;
    }

    body.mirkom-scroll-locked {
        overflow: hidden !important;
    }

    body.is-mobile-app {
        display: block !important;
        padding-bottom: var(--mobile-safe-bottom);
        overflow-x: hidden;
        max-width: 100%;
    }

    body.is-mobile-app .site-header,
    body.is-mobile-app .site-footer,
    body.is-mobile-app .site-main,
    body.is-mobile-app .gal-mainbar,
    body.is-mobile-app .gal-header {
        max-width: 100%;
    }

    body.is-mobile-app .site-main {
        flex: 0 0 auto;
    }

    body.is-mobile-app .content-wrap {
        flex: 0 0 auto;
        margin-bottom: 12px;
    }

    body.is-mobile-app .site-footer {
        margin-top: 0;
    }

    body.is-mobile-app .gal-mainbar .container {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.is-mobile-app.mobile-has-buy-bar {
        padding-bottom: calc(var(--mobile-safe-bottom) + var(--mobile-buybar-h));
    }

    body.is-mobile-app.mobile-has-cart-bar {
        padding-bottom: calc(var(--mobile-safe-bottom) + 118px);
    }

    body.is-mobile-app.mobile-drawer-open {
        touch-action: none;
    }

    /* Р”РµСЃРєС‚РѕРїРЅР°СЏ РІРµСЂС…РЅСЏСЏ СЃС‚СЂРѕРєР° вЂ” СЃРєСЂС‹С‚Р° */
    body.is-mobile-app .gal-topline {
        display: none;
    }

    body.is-mobile-app .gal-mainbar {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 40;
        background: linear-gradient(180deg, #f4f9ff 0%, #e8f1fb 100%);
        border-bottom: 1px solid #d2e0f0;
        box-shadow: 0 4px 16px rgba(18, 75, 151, 0.07);
        padding-top: env(safe-area-inset-top, 0px);
    }

    body.is-mobile-app .gal-mainbar.is-mobile-search-open {
        z-index: 120;
    }

    body.is-mobile-app .gal-mainbar .container {
        padding-top: 8px;
        padding-bottom: 10px;
    }

    /* Мобильная шапка: ☰ | МИРКОМ / поиск | 🔍 */
    .mobile-header-top {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-height: 42px;
    }

    .mobile-menu-open {
        grid-column: 1;
        grid-row: 1;
    }

    .mobile-search-open {
        grid-column: 3;
        grid-row: 1;
    }

    .mobile-menu-open,
    .mobile-search-open {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin: 0;
        padding: 0;
        border: 1px solid #c8daf0;
        border-radius: 10px;
        background: #fff;
        color: #1f3656;
        font-size: 18px;
        cursor: pointer;
        transition:
            background-color 0.22s ease,
            border-color 0.22s ease,
            color 0.22s ease,
            transform 0.22s ease;
    }

    .mobile-menu-open:focus-visible,
    .mobile-search-open:focus-visible {
        outline: 2px solid rgba(31, 100, 183, 0.35);
        outline-offset: 2px;
    }

    body.is-mobile-app .gal-mainbar.is-mobile-search-open .mobile-search-open {
        background: #1f64b7;
        border-color: #1f64b7;
        color: #fff;
    }

    .mobile-header-logo {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
        min-width: 0;
        text-align: center;
        font-size: 28px;
        font-weight: 900;
        letter-spacing: 0.04em;
        line-height: 1;
        color: #0a0a0a;
        text-decoration: none;
        white-space: nowrap;
    }

    .mobile-header-logo span {
        color: #1f64b7;
    }

    body.is-mobile-app .gal-mainbar.is-mobile-search-open .mobile-header-logo {
        display: none;
    }

    body.is-mobile-app .gal-main-header {
        display: none !important;
    }

    .mobile-search-slot {
        display: none;
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        width: 100%;
    }

    body.is-mobile-app .gal-mainbar.is-mobile-search-open .mobile-search-slot {
        display: block;
        animation: mobile-search-in 0.22s ease-out;
    }

    @keyframes mobile-search-in {
        from {
            opacity: 0;
            transform: translateY(-4px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    body.is-mobile-app .mobile-search-slot .search-container {
        --gal-search-h: 42px;
        --gal-search-radius: 12px;
        width: 100%;
        min-width: 0;
        border: 1px solid #c5d9f0;
        border-radius: var(--gal-search-radius);
        background: #fff;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
        overflow: visible;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    body.is-mobile-app .mobile-search-slot .search-container:focus-within {
        border-color: #1f64b7;
        box-shadow: 0 0 0 3px rgba(31, 100, 183, 0.16);
    }

    body.is-mobile-app .mobile-search-slot .search-container input {
        height: var(--gal-search-h);
        min-height: var(--gal-search-h);
        padding: 0 12px;
        font-size: 16px;
        color: #1e293b;
        background: transparent;
    }

    body.is-mobile-app .mobile-search-slot .search-container input::placeholder {
        color: #94a3b8;
    }

    body.is-mobile-app .mobile-search-slot .search-container .btn-search-go {
        flex: 0 0 42px;
        width: 42px;
        min-width: 42px;
        height: var(--gal-search-h);
        border-radius: 0 var(--gal-search-radius) var(--gal-search-radius) 0;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown {
        position: fixed;
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
        top: var(--mobile-search-dropdown-top, 72px);
        margin-top: 0;
        max-height: min(56vh, 420px);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 12px;
        border: 1px solid #dbe6f3;
        background: #fff;
        box-shadow: 0 18px 48px rgba(15, 23, 42, 0.16);
        z-index: 130;
        box-sizing: border-box;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-section-title {
        padding: 12px 16px 6px;
        color: #64748b;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-products {
        display: flex;
        flex-direction: column;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-prod-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 16px;
        border-bottom: 1px solid #f1f5f9;
        text-decoration: none;
        color: #1e293b;
        box-sizing: border-box;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-prod-item:last-child {
        border-bottom: none;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-prod-img {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        border-radius: 8px;
        background: #f8fafc;
        border: 1px solid #eef2f7;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-prod-title {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.35;
        color: #1e293b;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-prod-price {
        flex: 0 0 auto;
        margin-left: 8px;
        padding-right: 2px;
        font-size: 14px;
        font-weight: 800;
        color: #1f64b7;
        white-space: nowrap;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-show-all {
        display: block;
        margin: 0;
        padding: 12px 16px 14px;
        border-top: 1px solid #eef2f7;
        border-radius: 0;
        text-align: center;
        font-weight: 700;
        color: #1f64b7;
        background: #fff;
        text-decoration: none;
    }

    body.is-mobile-app .mobile-search-slot .search-dropdown .sd-status {
        padding: 16px 14px;
        color: #64748b;
        font-size: 14px;
    }

    body.is-mobile-app .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Р‘РѕРєРѕРІРѕРµ РјРµРЅСЋ */
    .mobile-drawer {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 12050;
        pointer-events: none;
    }

    .mobile-drawer.is-open {
        pointer-events: auto;
    }

    .mobile-drawer__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(15, 23, 42, 0.5);
        opacity: 0;
        transition: opacity 0.32s ease;
    }

    .mobile-drawer.is-open .mobile-drawer__backdrop {
        opacity: 1;
    }

    .mobile-drawer__panel {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(92vw, 340px);
        max-width: 100%;
        background: #f8fbff;
        box-shadow: 8px 0 40px rgba(15, 23, 42, 0.14);
        transform: translate3d(-105%, 0, 0);
        transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        display: flex;
        flex-direction: column;
        padding-top: env(safe-area-inset-top, 0px);
    }

    .mobile-drawer.is-open .mobile-drawer__panel {
        transform: translate3d(0, 0, 0);
    }

    .mobile-drawer__head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding: 16px 16px 14px;
        background: linear-gradient(180deg, #eef5ff 0%, #f8fbff 100%);
        border-bottom: 1px solid #dbe6f3;
        flex-shrink: 0;
    }

    .mobile-drawer__brand {
        min-width: 0;
    }

    .mobile-drawer__logo {
        font-size: 24px;
        font-weight: 900;
        line-height: 1.1;
        color: #0a0a0a;
    }

    .mobile-drawer__logo span {
        color: #1f64b7;
    }

    .mobile-drawer__tagline {
        margin: 4px 0 0;
        color: #64748b;
        font-size: 12px;
        font-weight: 600;
    }

    .mobile-drawer__close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        border: 1px solid #c8daf0;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.9);
        color: #475569;
        font-size: 18px;
        cursor: pointer;
    }

    .mobile-drawer__body {
        flex: 1;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 0 0 calc(12px + var(--mobile-safe-bottom));
    }

    .mobile-drawer__quick {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 12px 14px 10px;
    }

    .mobile-drawer__tile {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 88px;
        padding: 12px 8px;
        border-radius: 14px;
        border: 1px solid #dce7f4;
        background: #fff;
        color: #1f3656;
        text-decoration: none;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        transition: border-color 0.15s ease, background-color 0.15s ease;
    }

    .mobile-drawer__tile-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border-radius: 12px;
        background: #eef5ff;
        color: #1f64b7;
        font-size: 18px;
    }

    .mobile-drawer__tile-icon--catalog {
        background: linear-gradient(145deg, #e8f2ff 0%, #d6e8ff 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
    }

    .mobile-drawer__catalog-svg {
        display: block;
        width: 22px;
        height: 22px;
    }

    .mobile-drawer__tile.is-active .mobile-drawer__tile-icon--catalog {
        background: linear-gradient(145deg, #2a72c4 0%, #1f64b7 100%);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18);
    }

    .mobile-drawer__tile.is-active .mobile-drawer__tile-icon--catalog .mobile-drawer__catalog-svg rect {
        opacity: 1;
    }

    .mobile-drawer__tile-label {
        font-size: 13px;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
    }

    .mobile-drawer__tile.is-active {
        border-color: #1f64b7;
        background: #eef5ff;
        color: #1f64b7;
    }

    .mobile-drawer__tile.is-active .mobile-drawer__tile-icon {
        background: #1f64b7;
        color: #fff;
    }

    .mobile-drawer__badge {
        position: absolute;
        top: 8px;
        right: 8px;
        min-width: 20px;
        height: 20px;
        padding: 0 5px;
        border-radius: 999px;
        background: #d63b34;
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        line-height: 20px;
        text-align: center;
        box-shadow: 0 0 0 2px #fff;
    }

    .mobile-drawer__badge.is-hidden {
        display: none;
    }

    .mobile-drawer__profile {
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0 14px 12px;
        padding: 12px 14px;
        border-radius: 14px;
        border: 1px solid #dce7f4;
        background: #fff;
        color: inherit;
        text-decoration: none;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }

    .mobile-drawer__profile.is-active {
        border-color: #1f64b7;
        background: #eef5ff;
    }

    .mobile-drawer__profile-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        flex-shrink: 0;
        border-radius: 12px;
        background: linear-gradient(180deg, #2a6fbe 0%, #1f64b7 100%);
        color: #fff;
        font-size: 18px;
    }

    .mobile-drawer__profile-text {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .mobile-drawer__profile-title {
        color: #1f3656;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.2;
    }

    .mobile-drawer__profile-sub {
        color: #64748b;
        font-size: 12px;
        font-weight: 500;
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mobile-drawer__profile-arrow {
        flex-shrink: 0;
        color: #94a3b8;
        font-size: 12px;
    }

    .mobile-drawer__contacts {
        margin: 0 14px 12px;
        padding: 14px;
        border-radius: 14px;
        background: #fff;
        border: 1px solid #dce7f4;
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }

    .mobile-drawer__contacts-title {
        margin-bottom: 10px;
        color: #64748b;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .mobile-drawer__phone {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 12px;
        margin-bottom: 8px;
        border-radius: 12px;
        background: #f3f8ff;
        border: 1px solid #d4e4f8;
        text-decoration: none;
    }

    .mobile-drawer__phone-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        flex-shrink: 0;
        border-radius: 10px;
        background: #1f64b7;
        color: #fff;
        font-size: 16px;
    }

    .mobile-drawer__phone-text {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .mobile-drawer__phone-num {
        color: #1f64b7;
        font-size: 16px;
        font-weight: 800;
        line-height: 1.2;
    }

    .mobile-drawer__phone-hint {
        color: #64748b;
        font-size: 11px;
        font-weight: 600;
    }

    .mobile-drawer__hours {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 12px;
        padding: 0 2px;
        color: #64748b;
        font-size: 13px;
        font-weight: 500;
    }

    .mobile-drawer__hours i {
        color: #1f64b7;
        font-size: 14px;
    }

    .mobile-drawer__messengers {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 10px;
    }

    .mobile-drawer__msg {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-height: 64px;
        padding: 8px 4px;
        border-radius: 12px;
        font-size: 11px;
        font-weight: 700;
        text-decoration: none;
        color: #fff;
    }

    .mobile-drawer__msg i {
        font-size: 20px;
        line-height: 1;
    }

    .mobile-drawer__msg--tg {
        background: linear-gradient(180deg, #34b3f1 0%, #229ed9 100%);
    }

    .mobile-drawer__msg--viber {
        background: linear-gradient(180deg, #8b7af5 0%, #7360f2 100%);
    }

    .mobile-drawer__msg--wa {
        background: linear-gradient(180deg, #3de07a 0%, #25d366 100%);
    }

    .mobile-drawer__chat-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        min-height: 44px;
        margin: 0;
        padding: 0 14px;
        border: none;
        border-radius: 12px;
        background: linear-gradient(180deg, #2a6fbe 0%, #1f64b7 52%, #124b97 100%);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 4px 12px rgba(31, 100, 183, 0.25);
    }

    .mobile-drawer__info {
        margin: 0 14px;
        padding: 4px 0 0;
        border-top: 1px solid #e2eaf4;
    }

    .mobile-drawer__info-group + .mobile-drawer__info-group {
        margin-top: 4px;
        padding-top: 4px;
        border-top: 1px solid #eef2f7;
    }

    .mobile-drawer__section-title {
        padding: 10px 2px 4px;
        color: #94a3b8;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .mobile-drawer__links {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-drawer__links a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 11px 2px;
        color: #334155;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        border-bottom: 1px solid #f1f5f9;
    }

    .mobile-drawer__links li:last-child a {
        border-bottom: none;
    }

    .mobile-drawer__links a i {
        flex-shrink: 0;
        color: #cbd5e1;
        font-size: 11px;
    }

    .mobile-drawer__links a:active {
        color: #1f64b7;
    }

    .mobile-drawer__foot {
        padding: 14px 16px 4px;
        text-align: center;
    }

    .mobile-drawer__foot a {
        color: #94a3b8;
        font-size: 12px;
        font-weight: 600;
        text-decoration: none;
    }

    /* Р§Р°С‚ Рё С‚РѕСЃС‚С‹ */
    body.is-mobile-app .support-chat-dock:not(.is-open) {
        bottom: calc(var(--mobile-safe-bottom) + 6px);
        right: 10px;
        left: auto;
        top: auto;
        width: auto;
        height: auto;
    }

    body.is-mobile-app.mobile-has-buy-bar .support-chat-dock:not(.is-open) {
        bottom: calc(var(--mobile-safe-bottom) + var(--mobile-buybar-h) + 6px);
    }

    body.is-mobile-app.mobile-has-cart-bar .support-chat-dock:not(.is-open) {
        bottom: calc(var(--mobile-safe-bottom) + 120px);
    }

    body.is-mobile-app .help-widget {
        position: relative !important;
        right: auto !important;
        bottom: auto !important;
        width: 52px;
        height: 52px;
        min-height: 52px;
        padding: 0;
        border-radius: 999px;
    }

    body.is-mobile-app .help-widget .help-widget-text {
        display: none !important;
    }

    body.is-mobile-app .help-widget:hover,
    body.is-mobile-app .help-widget:focus-visible {
        width: 52px;
        padding: 0;
        transform: none;
    }

    body.is-mobile-app .site-toast-host {
        bottom: calc(var(--mobile-safe-bottom) + 8px);
    }

    body.is-mobile-app.support-chat-open .site-toast-host {
        z-index: 12400;
    }

    /* Сетка товаров / каталог */
    body.is-mobile-app .category-layout {
        gap: 0;
        min-width: 0;
    }

    body.is-mobile-app .category-content,
    body.is-mobile-app .catalog-results-panel {
        min-width: 0;
        overflow-x: hidden;
    }

    body.is-mobile-app.category-page .content-wrap,
    body.is-mobile-app.catalog-page .content-wrap,
    body.is-mobile-app.search-page .content-wrap,
    body.is-mobile-app.wishlist-page .content-wrap {
        padding-top: 12px;
        padding-bottom: calc(var(--mobile-safe-bottom) + 68px);
    }

    body.is-mobile-app .category-toolbar {
        align-items: center;
        margin-top: 0;
        margin-bottom: 10px;
        gap: 10px;
    }

    body.is-mobile-app .category-toolbar .category-page-title {
        flex: 1 1 auto;
        min-width: 0;
        font-size: 17px;
        font-weight: 800;
        line-height: 1.25;
        margin: 0;
        color: #1f3656;
    }

    body.is-mobile-app .btn-filter-open {
        flex-shrink: 0;
        padding: 8px 12px;
        border-radius: 10px;
        border-color: #dbe6f3;
        background: #fff;
        color: #1f3656;
        font-size: 13px;
        font-weight: 600;
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
    }

    body.is-mobile-app .catalog-controls {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        padding: 8px 10px;
        margin-bottom: 10px;
        gap: 6px 8px;
        background: #fff;
        border: 1px solid #eef2f7;
        border-radius: 12px;
        box-shadow: none;
    }

    body.is-mobile-app .catalog-controls .results-count {
        flex: 0 0 auto;
        font-size: 12px;
        color: #64748b;
        white-space: nowrap;
    }

    body.is-mobile-app .catalog-controls .results-count b {
        color: #1f3656 !important;
        font-weight: 700;
    }

    body.is-mobile-app .catalog-controls .catalog-pagination--inline {
        flex: 1 1 auto;
        margin-left: 0;
        width: auto;
        min-width: 0;
        justify-content: flex-end;
        gap: 4px;
    }

    body.is-mobile-app .catalog-pagination--inline .catalog-pagination__page,
    body.is-mobile-app .catalog-pagination--inline .catalog-pagination__arrow {
        min-width: 30px;
        height: 30px;
        padding: 0 6px;
        border-radius: 8px;
        font-size: 12px;
        border-color: #e8eef5;
        background: #f8fafc;
        color: #475569;
    }

    body.is-mobile-app .catalog-pagination--inline .catalog-pagination__page.is-active {
        background: #1f64b7;
        border-color: #1f64b7;
        color: #fff;
    }

    body.is-mobile-app .catalog-pagination--bottom {
        margin-top: 16px;
        padding: 10px 12px;
        background: #fff;
        border: 1px solid #eef2f7;
        border-radius: 12px;
    }

    body.is-mobile-app .products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
    }

    body.is-mobile-app .product-card {
        padding: 10px;
        min-width: 0;
        max-width: 100%;
        background: #fff;
        border: 1px solid #eef2f7;
        border-radius: 12px;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
        gap: 0;
    }

    body.is-mobile-app .product-card:hover {
        transform: none;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    }

    body.is-mobile-app.category-page .pc-code,
    body.is-mobile-app.catalog-page .pc-code,
    body.is-mobile-app.search-page .pc-code {
        display: none;
    }

    body.is-mobile-app .pc-image-wrapper {
        height: min(38vw, 128px);
        margin-bottom: 8px;
        padding: 6px;
        background: #f8fafc;
        border-radius: 10px;
        border: 1px solid #f1f5f9;
    }

    body.is-mobile-app .pc-fav-btn {
        top: 4px;
        right: 4px;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        border-color: #e8eef5;
        background: rgba(255, 255, 255, 0.94);
        font-size: 12px;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
    }

    body.is-mobile-app .pc-title {
        font-size: 12px;
        font-weight: 600;
        line-height: 1.35;
        margin-bottom: 6px;
        color: #1f3656;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        min-height: 2.7em;
    }

    body.is-mobile-app .pc-action-row {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
        margin-bottom: 6px;
        margin-top: auto;
    }

    body.is-mobile-app .pc-price {
        font-size: 17px;
        font-weight: 800;
        line-height: 1.1;
        color: #1f64b7;
    }

    body.is-mobile-app .pc-price span {
        font-size: 14px;
        color: #1f64b7;
    }

    body.is-mobile-app .pc-controls {
        display: flex;
        flex-direction: row;
        align-items: center;
        width: 100%;
        gap: 6px;
        min-width: 0;
    }

    body.is-mobile-app .pc-qty {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        height: 32px;
        background: #fff;
        border-color: #dbe6f3;
        border-radius: 8px;
    }

    body.is-mobile-app .pc-qty-input {
        color: #1f3656;
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
        font-size: 16px;
        font-weight: 600;
        pointer-events: none;
        -webkit-user-select: none;
        user-select: none;
    }

    body.is-mobile-app .pc-qty-btn {
        width: 28px;
        flex-shrink: 0;
        font-size: 16px;
        color: #64748b;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    body.is-mobile-app .pc-cart-btn {
        flex: 0 0 36px;
        width: 36px;
        height: 32px;
        border-radius: 8px;
        font-size: 13px;
    }

    body.is-mobile-app .pc-status {
        font-size: 10px;
        font-weight: 600;
        margin-top: 2px;
    }

    body.is-mobile-app .pc-status--in {
        color: #16a34a;
    }

    body.is-mobile-app .pc-status--out {
        color: #dc2626;
    }

    body.is-mobile-app .categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    body.is-mobile-app .category-page-title,
    body.is-mobile-app .page-title {
        font-size: 22px;
        text-transform: none;
        letter-spacing: -0.02em;
    }

    body.is-mobile-app .btn-filter-open {
        display: inline-flex;
    }

    /* Р“Р»Р°РІРЅР°СЏ вЂ” СЃС‚РёР»СЊ РєР°Рє Сѓ РєРѕРЅРєСѓСЂРµРЅС‚Р°: Р±Р°РЅРЅРµСЂ + С‚РѕС‡РєРё, РєСЂСѓРїРЅС‹Рµ РєР°СЂС‚РѕС‡РєРё РєР°С‚РµРіРѕСЂРёР№ */
    body.is-mobile-app.home-page .content-wrap.home-unique {
        margin-bottom: 24px;
    }

    body.is-mobile-app.home-page .home-unique .main-layout {
        margin-top: 6px;
        gap: 0;
    }

    body.is-mobile-app.home-page .home-hero-block {
        margin-bottom: 4px;
    }

    body.is-mobile-app.home-page .home-unique .hero {
        height: min(54vw, 240px);
        min-height: 188px;
        border-radius: 14px;
        border: none;
        box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
        touch-action: pan-y pinch-zoom;
    }

    body.is-mobile-app.home-page .home-unique .hero .slide-track {
        touch-action: pan-y pinch-zoom;
    }

    body.is-mobile-app.home-page .home-unique .hero::before {
        opacity: 0.85;
    }

    body.is-mobile-app.home-page .home-unique .hero .arrow {
        display: none;
    }

    body.is-mobile-app.home-page .hero-dots--below {
        display: flex;
        position: static;
        left: auto;
        bottom: auto;
        transform: none;
        justify-content: center;
        gap: 8px;
        margin: 10px 0 0;
        padding: 0;
    }

    body.is-mobile-app.home-page .hero-dots--below .hero-dot {
        width: 8px;
        height: 8px;
        min-width: 8px;
        background: #cbd5e1;
    }

    body.is-mobile-app.home-page .hero-dots--below .hero-dot.is-active {
        width: 22px;
        min-width: 22px;
        background: #1f64b7;
    }

    body.is-mobile-app.home-page .home-groups-strip {
        margin-top: 16px;
        padding: 0 0 20px;
    }

    body.is-mobile-app.home-page .home-help-cta {
        margin: 20px 0 18px;
    }

    body.is-mobile-app.home-page .home-products-strip {
        margin-top: 22px;
    }

    body.is-mobile-app.home-page .home-products-head {
        margin-bottom: 10px;
    }

    body.is-mobile-app.home-page .home-products-title {
        font-size: 18px;
    }

    body.is-mobile-app.home-page .home-products-nav {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }

    body.is-mobile-app.home-page .home-products-track {
        grid-auto-columns: calc((100% - 12px) / 2);
        gap: 10px;
        scroll-snap-type: x mandatory;
    }

    body.is-mobile-app.home-page .home-trust {
        margin-top: 24px;
        padding: 18px 16px 16px;
        border-radius: 16px;
    }

    body.is-mobile-app.home-page .home-trust__glow,
    body.is-mobile-app.home-page .home-trust__pattern {
        display: none;
    }

    body.is-mobile-app.home-page .home-trust__head {
        gap: 12px;
    }

    body.is-mobile-app.home-page .home-trust__eyebrow {
        font-size: 10px;
    }

    body.is-mobile-app.home-page .home-trust__title {
        font-size: 18px;
    }

    body.is-mobile-app.home-page .home-trust__lead {
        font-size: 13px;
    }

    body.is-mobile-app.home-page .home-trust__stats {
        padding: 12px;
        gap: 8px;
    }

    body.is-mobile-app.home-page .home-trust__stat-text {
        font-size: 12px;
    }

    body.is-mobile-app.home-page .home-trust__step {
        display: none;
    }

    body.is-mobile-app.home-page .home-trust__item {
        padding: 12px;
    }

    body.is-mobile-app.home-page .home-trust__item:hover {
        transform: none;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    }

    body.is-mobile-app.home-page .home-trust__tags li {
        font-size: 10px;
    }

    body.is-mobile-app.home-page .home-trust__foot {
        padding: 12px;
        margin-top: 14px;
    }

    body.is-mobile-app.home-page .home-trust__foot-label {
        font-size: 11px;
    }

    body.is-mobile-app.home-page .home-trust__links {
        gap: 8px;
    }

    body.is-mobile-app.home-page .home-trust__link {
        flex: 1 1 calc(50% - 4px);
        justify-content: center;
        min-height: 40px;
        font-size: 12px;
        padding: 8px 10px;
    }

    body.is-mobile-app.home-page .home-help-cta__inner {
        border-radius: 16px;
    }

    body.is-mobile-app.home-page .home-help-cta__main {
        padding: 16px 14px 14px 20px;
    }

    body.is-mobile-app.home-page .home-help-cta__head {
        gap: 12px;
    }

    body.is-mobile-app.home-page .home-help-cta__icon {
        width: 42px;
        height: 42px;
        font-size: 18px;
        border-radius: 12px;
    }

    body.is-mobile-app.home-page .home-help-cta__eyebrow {
        font-size: 9px;
    }

    body.is-mobile-app.home-page .home-help-cta__title {
        font-size: 17px;
    }

    body.is-mobile-app.home-page .home-help-cta__text {
        font-size: 13px;
        margin-top: 10px;
    }

    body.is-mobile-app.home-page .home-help-cta__steps {
        gap: 6px;
        margin-top: 12px;
    }

    body.is-mobile-app.home-page .home-help-cta__step {
        padding: 8px 4px;
        border-radius: 12px;
    }

    body.is-mobile-app.home-page .home-help-cta__step-icon {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    body.is-mobile-app.home-page .home-help-cta__step-label {
        font-size: 9px;
    }

    body.is-mobile-app.home-page .home-help-cta__panel {
        padding: 14px 14px 16px;
    }

    body.is-mobile-app.home-page .home-help-cta__btn {
        min-height: 48px;
    }

    body.is-mobile-app.home-page .home-help-cta__btn:hover {
        transform: none;
    }

    body.is-mobile-app.home-page .home-groups-row {
        display: block;
        position: relative;
        padding: 0 4px;
    }

    body.is-mobile-app.home-page .home-groups-viewport {
        width: 100%;
        overflow: hidden;
    }

    body.is-mobile-app.home-page .home-groups-fade {
        display: none;
    }

    body.is-mobile-app.home-page .home-groups-nav {
        position: absolute;
        top: calc(50% - 14px);
        z-index: 5;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        margin: 0;
        padding: 0;
        font-size: 14px;
        color: #475569;
        border-radius: 50%;
        background: #fff;
        border: 1px solid #e2e8f0;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14);
    }

    body.is-mobile-app.home-page .home-groups-nav--prev {
        left: -6px;
        transform: translateY(-50%);
    }

    body.is-mobile-app.home-page .home-groups-nav--next {
        right: -6px;
        transform: translateY(-50%);
    }

    body.is-mobile-app.home-page .home-groups-nav:disabled {
        opacity: 0.3;
        pointer-events: none;
    }

    body.is-mobile-app.home-page .home-groups-track {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: calc(50% - 8px);
        gap: 16px;
        overflow-x: auto;
        overflow-y: visible;
        padding: 6px 8px 8px;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 8px;
        scrollbar-width: none;
    }

    body.is-mobile-app.home-page .home-groups-track::-webkit-scrollbar {
        display: none;
    }

    body.is-mobile-app.home-page .home-group-pill {
        scroll-snap-align: start;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: 208px;
        padding: 10px 10px 14px;
        gap: 8px;
        border-radius: 14px;
        border: 1px solid #eef2f7;
        background: #fff;
        box-shadow: 0 4px 16px rgba(15, 23, 42, 0.07);
        text-decoration: none;
    }

    body.is-mobile-app.home-page .home-group-pill:active {
        transform: scale(0.98);
    }

    body.is-mobile-app.home-page .home-group-pill:hover {
        transform: none;
        box-shadow: 0 4px 16px rgba(15, 23, 42, 0.07);
    }

    body.is-mobile-app.home-page .home-group-thumb {
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 132px;
        min-height: 132px;
        max-height: 132px;
        aspect-ratio: auto;
        padding: 2px;
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.is-mobile-app.home-page .home-group-thumb img {
        max-width: 100%;
        max-height: 128px;
        width: auto;
        height: auto;
        object-fit: contain;
    }

    body.is-mobile-app.home-page .home-group-name {
        flex-shrink: 0;
        font-size: 13px;
        font-weight: 600;
        color: #1f3656;
        line-height: 1.35;
        min-height: 2.7em;
        text-align: center;
        text-shadow: none;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    body.is-mobile-app.home-page .home-products-strip {
        margin-top: 22px;
    }

    body.is-mobile-app.home-page .home-products-strip + .home-products-strip {
        margin-top: 18px;
    }

    body.is-mobile-app.home-page .home-products-head {
        margin-bottom: 10px;
    }

    body.is-mobile-app.home-page .home-products-title {
        font-size: 17px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.02em;
    }

    body.is-mobile-app.home-page .home-products-more {
        font-size: 12px;
    }

    body.is-mobile-app.home-page .home-products-row {
        display: block;
        position: relative;
        padding: 0 4px;
    }

    body.is-mobile-app.home-page .home-products-viewport {
        width: 100%;
        overflow: hidden;
    }

    body.is-mobile-app.home-page .home-products-nav {
        position: absolute;
        top: calc(50% - 18px);
        z-index: 5;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        margin: 0;
        padding: 0;
        font-size: 14px;
        color: #475569;
        border-radius: 50%;
        background: #fff;
        border: 1px solid #e2e8f0;
        box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14);
    }

    body.is-mobile-app.home-page .home-products-nav--prev {
        left: -6px;
        transform: translateY(-50%);
    }

    body.is-mobile-app.home-page .home-products-nav--next {
        right: -6px;
        transform: translateY(-50%);
    }

    body.is-mobile-app.home-page .home-products-nav:disabled {
        opacity: 0.3;
        pointer-events: none;
    }

    body.is-mobile-app.home-page .home-products-track {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: calc(50% - 8px);
        gap: 12px;
        overflow-x: auto;
        overflow-y: visible;
        padding: 6px 8px 8px;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 8px;
        scrollbar-width: none;
    }

    body.is-mobile-app.home-page .home-products-track::-webkit-scrollbar {
        display: none;
    }

    body.is-mobile-app.home-page .home-product-card {
        padding: 10px;
        gap: 6px;
        min-height: 0;
    }

    body.is-mobile-app.home-page .hpc-image-wrap {
        height: 118px;
    }

    body.is-mobile-app.home-page .hpc-title {
        font-size: 12px;
        min-height: 2.6em;
    }

    body.is-mobile-app.home-page .hpc-price {
        font-size: 15px;
    }

    body.is-mobile-app.home-page .home-office-map {
        grid-template-columns: 1fr;
        margin-top: 8px;
        margin-bottom: 16px;
        padding: 16px;
        border-radius: 14px;
        box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
    }

    body.is-mobile-app.home-page .home-office-map__content h2 {
        font-size: 20px;
    }

    body.is-mobile-app.home-page .home-office-map__actions {
        flex-direction: column;
    }

    body.is-mobile-app.home-page .home-office-map__link {
        width: 100%;
        justify-content: center;
    }

    /* РљР°СЂС‚РѕС‡РєР° С‚РѕРІР°СЂР° */
    body.is-mobile-app.product-page .content-wrap {
        padding-bottom: calc(var(--mobile-safe-bottom) + 20px);
        margin-bottom: 0;
    }

    body.is-mobile-app.product-page .product-page-title {
        font-size: 17px;
        font-weight: 800;
        line-height: 1.35;
        text-transform: none;
        letter-spacing: -0.02em;
        color: #1f3656;
        margin-bottom: 10px;
    }

    body.is-mobile-app.product-page .product-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-bottom: 12px;
        padding: 0;
    }

    body.is-mobile-app.product-page .tab-btn {
        width: 100%;
        min-height: 38px;
        padding: 8px 10px;
        font-size: 12px;
        font-weight: 600;
        text-transform: none;
        letter-spacing: 0;
        border-radius: 10px;
        border-color: #dbe6f3;
        color: #64748b;
        background: #f8fafc;
    }

    body.is-mobile-app.product-page .tab-btn.active {
        color: #fff;
        border-color: transparent;
        background: var(--gradient-cta);
        box-shadow: 0 4px 12px rgba(31, 100, 183, 0.22);
    }

    body.is-mobile-app.product-page .product-grid {
        display: flex;
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }

    body.is-mobile-app.product-page .left-col,
    body.is-mobile-app.product-page .right-col {
        flex: 0 0 auto;
        min-height: 0;
    }

    body.is-mobile-app.product-page .main-image-box {
        height: min(58vw, 280px);
        padding: 10px;
        border-radius: 14px;
        border-color: #eef2f7;
        background: #fff;
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    }

    body.is-mobile-app.product-page .product-photo-notice {
        font-size: 11px;
        line-height: 1.4;
        color: #94a3b8;
    }

    body.is-mobile-app.product-page .gallery-thumb {
        width: 48px;
        height: 48px;
        border-color: #dbe6f3;
        background: #fff;
    }

    body.is-mobile-app.product-page .gallery-thumb.active,
    body.is-mobile-app.product-page .gallery-thumb:focus-visible {
        border-color: #1f64b7;
    }

    body.is-mobile-app.product-page .right-col {
        gap: 10px;
    }

    body.is-mobile-app.product-page .info-card {
        padding: 14px;
        border-radius: 14px;
        border-color: #eef2f7;
        background: #fff;
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    }

    body.is-mobile-app.product-page .info-card--buy {
        padding: 14px;
        border-color: #cfe0f5;
        background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%);
        box-shadow: 0 4px 18px rgba(31, 100, 183, 0.1);
    }

    body.is-mobile-app.product-page .purchase-top {
        margin-bottom: 10px;
    }

    body.is-mobile-app.product-page .purchase-code {
        font-size: 12px;
    }

    body.is-mobile-app.product-page .purchase-badge {
        font-size: 11px;
        padding: 3px 8px;
    }

    body.is-mobile-app.product-page .purchase-rating {
        margin-top: 10px;
        padding-top: 10px;
        border-top-color: #e8eef5;
    }

    body.is-mobile-app.product-page .purchase-rating .prod-rating-btn {
        width: 100%;
        justify-content: flex-start;
        font-size: 13px;
        gap: 4px;
    }

    body.is-mobile-app.product-page .purchase-rating .prod-rating-score {
        color: #1f3656;
        font-size: 13px;
    }

    body.is-mobile-app.product-page .purchase-rating .prod-rating-count {
        font-size: 12px;
        color: #64748b;
        margin-left: 4px;
    }

    body.is-mobile-app.product-page .info-card--meta {
        padding: 12px 14px;
    }

    body.is-mobile-app.product-page .variant-btn {
        color: #334155;
        border-color: #dbe6f3;
        background: #f8fafc;
        font-size: 12px;
        padding: 6px 10px;
        border-radius: 8px;
    }

    body.is-mobile-app.product-page .variant-btn.active {
        color: #1f64b7;
        border-color: #1f64b7;
        background: #eef5ff;
    }

    body.is-mobile-app.product-page .variants-block h4 {
        font-size: 12px;
        margin-bottom: 8px;
        color: #64748b;
        text-transform: none;
        font-weight: 700;
    }

    body.is-mobile-app.product-page .purchase-services {
        gap: 0;
        border-radius: 14px;
        border: 1px solid #eef2f7;
        background: #fff;
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
        overflow: hidden;
        margin-bottom: 0;
    }

    body.is-mobile-app.product-page .purchase-services .info-card {
        border: none;
        border-radius: 0;
        box-shadow: none;
        padding: 10px 14px 12px;
    }

    body.is-mobile-app.product-page .purchase-services .info-card--pay {
        border-bottom: 1px solid #eef2f7;
        background: transparent;
        padding-bottom: 10px;
    }

    body.is-mobile-app.product-page .purchase-services .info-card--delivery {
        background: transparent;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    body.is-mobile-app.product-page .buy-row--main {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "price heart"
            "actions actions";
        gap: 10px;
        align-items: center;
    }

    body.is-mobile-app.product-page .price-large {
        grid-area: price;
        font-size: 26px;
        color: #1f3656;
    }

    body.is-mobile-app.product-page .price-large span {
        font-size: 17px;
        color: #1f64b7;
    }

    body.is-mobile-app.product-page .purchase-actions {
        grid-area: actions;
        display: flex;
        align-items: stretch;
        gap: 8px;
        min-width: 0;
    }

    body.is-mobile-app.product-page .purchase-qty {
        flex: 0 0 104px;
        width: 104px;
        height: 44px;
        border-color: #dbe6f3;
        border-radius: 10px;
    }

    body.is-mobile-app.product-page .purchase-qty__btn {
        flex-basis: 32px;
        width: 32px;
        font-size: 18px;
        background: #f8fafc;
    }

    body.is-mobile-app.product-page .purchase-qty__input {
        font-size: 16px;
        border-color: #eef2f7;
        pointer-events: none;
        -webkit-user-select: none;
        user-select: none;
    }

    body.is-mobile-app.product-page .purchase-qty__btn,
    body.is-mobile-app.product-page .qty-btn {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    body.is-mobile-app.product-page .qty-input {
        font-size: 16px;
        pointer-events: none;
        -webkit-user-select: none;
        user-select: none;
    }

    /* iOS: поля количества >= 16px — без авто-зума при тапе */
    body.is-mobile-app .cart-card__qty,
    body.is-mobile-app .cart-popup__qty {
        font-size: 16px;
        pointer-events: none;
        -webkit-user-select: none;
        user-select: none;
    }

    body.is-mobile-app .cart-card__step,
    body.is-mobile-app .cart-popup__step {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    body.is-mobile-app.product-page .buy-row--main .btn-heart {
        grid-area: heart;
        width: 44px;
        height: 44px;
        margin-left: 0;
        order: unset;
    }

    body.is-mobile-app.product-page .buy-row--main .purchase-cart-btn {
        flex: 1;
        min-width: 0;
        min-height: 44px;
        height: 44px;
        padding: 0 14px;
        font-size: 14px;
        font-weight: 700;
        text-transform: none;
        letter-spacing: 0;
        border-radius: 10px;
    }

    body.is-mobile-app.product-page .buy-row--main .purchase-cart-btn--solo {
        grid-area: actions;
        width: 100%;
        order: unset;
    }

    body.is-mobile-app.product-page .info-card--pay,
    body.is-mobile-app.product-page .info-card--delivery {
        padding: 12px 14px;
    }

    body.is-mobile-app.product-page .purchase-services .info-card h3 {
        margin-bottom: 6px;
    }

    body.is-mobile-app.product-page .purchase-services .list-item {
        margin-bottom: 6px;
    }

    body.is-mobile-app.product-page .purchase-services .list-item:last-child {
        margin-bottom: 0;
    }

    body.is-mobile-app.product-page .list-item .sub {
        display: block;
        font-size: 11px;
        color: #94a3b8;
        font-weight: 500;
        margin-top: 1px;
    }

    body.is-mobile-app.product-page .info-card h3 {
        font-size: 13px;
        font-weight: 800;
        text-transform: none;
        color: #1f3656;
        margin-bottom: 10px;
    }

    body.is-mobile-app.product-page .list-item {
        margin-bottom: 8px;
        font-size: 13px;
        color: #334155;
        gap: 10px;
    }

    body.is-mobile-app.product-page .list-item:last-child {
        margin-bottom: 0;
    }

    body.is-mobile-app.product-page .list-icon {
        width: 32px;
        height: 32px;
        flex-shrink: 0;
    }

    body.is-mobile-app.product-page .variants-block {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
        margin-top: 0;
    }

    body.is-mobile-app.product-page .mini-buy-card {
        display: none;
    }

    body.is-mobile-app.product-page .info-card:hover {
        transform: none;
        box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    }

    .mobile-buy-bar {
        display: block;
        position: fixed;
        left: 0;
        right: 0;
        bottom: var(--mobile-stack-bottom);
        z-index: 10980;
        height: var(--mobile-buybar-h);
        background: #fff;
        border-top: 1px solid #e4eaf4;
        box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.08);
        transform: translateY(100%);
        visibility: hidden;
        transition: transform 0.22s ease, visibility 0.22s;
    }

    .mobile-buy-bar.is-visible {
        transform: translateY(0);
        visibility: visible;
    }

    .mobile-buy-bar__inner {
        display: flex;
        align-items: center;
        gap: 12px;
        height: 100%;
        padding: 0 14px;
    }

    .mobile-buy-bar__price {
        font-size: 20px;
        font-weight: 800;
        color: #1f64b7;
        white-space: nowrap;
    }

    .mobile-buy-bar__btn {
        flex: 1;
        min-height: 44px;
        margin: 0;
        text-transform: none;
        letter-spacing: 0;
        font-size: 14px;
        border-radius: 12px;
    }

    body.is-mobile-app.product-page.mobile-has-buy-bar {
        padding-bottom: calc(var(--mobile-stack-bottom) + var(--mobile-buybar-h));
    }

    /* ЛК — styles in profile.css */

    /* РџРѕРґРіСЂСѓРїРїС‹ РєР°С‚РµРіРѕСЂРёРё вЂ” РєРѕРјРїР°РєС‚РЅС‹Р№ СЃРїРёСЃРѕРє */
    body.is-mobile-app .subgroups-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.is-mobile-app .subgroup-card {
        display: grid;
        grid-template-columns: 80px 1fr;
        align-items: center;
    }

    body.is-mobile-app .subgroup-card .sg-img {
        height: 80px;
    }

    body.is-mobile-app .subgroup-card .sg-body {
        padding: 12px 14px;
    }

    /* Р’С…РѕРґ / СЂРµРіРёСЃС‚СЂР°С†РёСЏ */
    body.is-mobile-app.auth-page .auth-breadcrumb {
        display: none;
    }

    body.is-mobile-app.auth-page .auth-page--allegro {
        padding: 12px 0 28px;
        background: #f3f7fc;
    }

    body.is-mobile-app.auth-page .auth-page__inner.content-wrap {
        margin-bottom: 0;
    }

    body.is-mobile-app.auth-page .auth-allegro-stack,
    body.is-mobile-app.auth-page .auth-allegro-stack--wide {
        max-width: none;
    }

    body.is-mobile-app.auth-page .auth-card {
        padding: 16px 16px 18px;
        border-radius: 16px;
        border-color: #dce7f4;
        box-shadow: 0 8px 28px rgba(15, 23, 42, 0.07);
    }

    body.is-mobile-app.auth-page .auth-allegro-stack--wide .auth-card {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.is-mobile-app.auth-page .auth-tabs--segmented {
        margin: 0 0 16px;
        padding: 4px;
        background: #eef3f9;
        border: 1px solid #e2eaf4;
        border-radius: 12px;
        border-bottom: none;
    }

    body.is-mobile-app.auth-page .auth-tabs--segmented .auth-tab-btn {
        border-radius: 9px;
        border-bottom: none;
        margin-bottom: 0;
        padding: 11px 8px;
        font-size: 14px;
    }

    body.is-mobile-app.auth-page .auth-tabs--segmented .auth-tab-btn.is-active {
        background: #fff;
        color: #1f64b7;
        box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
    }

    body.is-mobile-app.auth-page .auth-allegro-title {
        display: none;
    }

    body.is-mobile-app.auth-page .auth-panel__lead {
        margin: 0 0 16px;
        font-size: 15px;
        line-height: 1.45;
        color: #475569;
    }

    body.is-mobile-app.auth-page .auth-form-group--float {
        margin-bottom: 14px;
    }

    body.is-mobile-app.auth-page .auth-float-field > input:not([type="checkbox"]),
    body.is-mobile-app.auth-page .auth-float-field--with-toggle > .auth-password-wrap input {
        min-height: 52px;
        border-radius: 12px;
        border-color: #cfdced;
    }

    body.is-mobile-app.auth-page .auth-float-field--with-toggle > .auth-password-wrap {
        border-radius: 12px;
    }

    body.is-mobile-app.auth-page .auth-password-checklist--allegro {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 10px;
        margin: 6px 0 14px;
        padding: 10px 12px;
        border-radius: 12px;
        background: #f8fbff;
        border: 1px solid #e2eaf4;
    }

    body.is-mobile-app.auth-page .auth-password-checklist--allegro li {
        white-space: normal;
        font-size: 12px;
        line-height: 1.35;
    }

    body.is-mobile-app.auth-page .auth-password-checklist--allegro li:not(:last-child)::after {
        content: none;
    }

    body.is-mobile-app.auth-page .auth-confirm-match {
        margin-top: 2px;
        margin-bottom: 10px;
        font-size: 13px;
    }

    body.is-mobile-app.auth-page .auth-checkbox {
        margin: 4px 0 16px;
        padding: 12px;
        border-radius: 12px;
        background: #f8fbff;
        border: 1px solid #e2eaf4;
        align-items: flex-start;
        gap: 12px;
    }

    body.is-mobile-app.auth-page .auth-checkbox input {
        width: 20px;
        height: 20px;
        margin-top: 2px;
    }

    body.is-mobile-app.auth-page .auth-checkbox span {
        font-size: 13px;
        line-height: 1.5;
        color: #334155;
    }

    body.is-mobile-app.auth-page .btn-auth-cta {
        min-height: 48px;
        padding: 14px 18px;
        border-radius: 12px;
        font-size: 15px;
        text-transform: none;
        letter-spacing: 0;
    }

    body.is-mobile-app.auth-page .auth-or-divider {
        margin: 16px 0;
    }

    body.is-mobile-app.auth-page .auth-social-btn {
        min-height: 48px;
        padding: 12px 16px;
        border-radius: 12px;
        font-size: 14px;
        text-transform: none;
        letter-spacing: 0;
    }

    /* Р¤РѕСЂРјС‹ вЂ” Р±РµР· Р·СѓРјР° iOS */
    body.is-mobile-app input,
    body.is-mobile-app select,
    body.is-mobile-app textarea {
        font-size: 16px;
    }

    /* РџРѕРґРІР°Р» вЂ” РєРѕРјРїР°РєС‚РЅС‹Р№ */
    body.is-mobile-app .site-footer {
        padding-top: 20px;
    }

    body.is-mobile-app .footer-grid {
        grid-template-columns: 1fr;
        gap: 0;
        padding-bottom: 12px;
    }

    body.is-mobile-app .footer-col--brand {
        padding-bottom: 14px;
        margin-bottom: 4px;
        border-bottom: 1px solid rgba(31, 100, 183, 0.12);
    }

    body.is-mobile-app .footer-logo {
        font-size: 22px;
    }

    body.is-mobile-app .footer-tagline {
        margin-top: 4px;
        font-size: 12px;
        max-width: none;
        line-height: 1.35;
    }

    body.is-mobile-app .footer-mobile-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 12px;
        margin-top: 10px;
    }

    body.is-mobile-app .footer-mobile-bar__phone {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 8px 12px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.72);
        border: 1px solid rgba(31, 100, 183, 0.18);
        color: #1f64b7;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
    }

    body.is-mobile-app .footer-mobile-bar__phone i {
        font-size: 13px;
    }

    body.is-mobile-app .footer-mobile-bar__hours {
        color: #64748b;
        font-size: 12px;
        font-weight: 600;
    }

    body.is-mobile-app .footer-col--accordion {
        border-bottom: 1px solid rgba(31, 100, 183, 0.1);
    }

    body.is-mobile-app .footer-col--accordion:last-child {
        border-bottom: none;
    }

    body.is-mobile-app .footer-col__summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 0;
        margin: 0;
        cursor: pointer;
        pointer-events: auto;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
    }

    body.is-mobile-app .footer-col__summary-text {
        margin-bottom: 0;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: 0.04em;
        color: #1f3656;
    }

    body.is-mobile-app .footer-col__chevron {
        display: inline-block;
        font-size: 11px;
        color: #64748b;
        transition: transform 0.2s ease;
    }

    body.is-mobile-app .footer-col--accordion[open] .footer-col__chevron {
        transform: rotate(180deg);
    }

    body.is-mobile-app .footer-col--accordion > ul,
    body.is-mobile-app .footer-col--accordion > .contact-info {
        padding: 0 0 12px;
    }

    body.is-mobile-app .footer-col--accordion > ul li {
        margin-bottom: 0;
    }

    body.is-mobile-app .footer-col--accordion > ul li a {
        display: block;
        padding: 8px 0;
        font-size: 14px;
    }

    body.is-mobile-app .footer-col--contacts .contact-line {
        margin-bottom: 6px;
    }

    body.is-mobile-app .footer-bottom {
        padding: 10px 0 calc(10px + var(--mobile-safe-bottom));
        font-size: 11px;
    }

    /* ——— Подсказки адреса на мобилке ——— */
    body.is-mobile-app [data-np-form] .np-suggest-wrap {
        display: flex;
        flex-direction: column;
    }

    body.is-mobile-app [data-np-form] .np-suggest {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100%;
        max-height: min(42vh, 280px);
        margin: 8px 0 0;
        border: 1px solid #dbe6f3;
        border-radius: 12px;
        background: #fff;
        box-shadow: none;
        z-index: auto !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    body.is-mobile-app [data-np-form] .np-suggest.is-scrollable:not(.is-scrolled-bottom),
    body.is-mobile-app [data-np-form] .delivery-method-list.is-scrollable:not(.is-scrolled-bottom) {
        padding-bottom: 40px;
    }

    body.is-mobile-app [data-np-form] .scroll-list-hint {
        font-size: 13px;
        padding: 10px 14px 9px;
        color: #3d5678;
    }

    body.is-mobile-app [data-np-form] .scroll-list-hint__icon {
        font-size: 12px;
    }

    /* Модалка адреса: inline-подсказки в форме, футер всегда кликабелен */
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__dialog {
        max-height: min(92dvh, 100vh);
        min-height: min(72dvh, 560px);
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        scroll-padding-top: 10px;
        scroll-padding-bottom: 16px;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__save-bar {
        display: flex !important;
        flex: 0 0 auto;
        flex-direction: column;
        margin-top: auto;
        position: relative;
        z-index: 30;
        pointer-events: auto;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid #e8eef5;
        background: #ffffff;
        box-shadow: 0 -10px 28px rgba(15, 35, 70, 0.1);
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__save-bar .checkout-addr-modal__save-btn {
        width: 100%;
        min-height: 52px;
        touch-action: manipulation;
        -webkit-user-select: none;
        user-select: none;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__save-bar .checkout-addr-modal__save-btn:active:not(:disabled) {
        transform: scale(0.985);
        filter: brightness(0.96);
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal-form .np-suggest {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        margin: 8px 0 0 !important;
        max-height: min(32vh, 200px) !important;
        box-shadow: none !important;
        z-index: auto !important;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .np-suggest-wrap label,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .np-suggest-wrap input[type="text"] {
        scroll-margin-top: 10px;
        scroll-margin-bottom: 12px;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .np-suggest-wrap.is-suggest-open {
        scroll-margin-bottom: 8px;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form.is-np-suggest-open .np-suggest-wrap.is-suggest-open > input[type="text"] {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-bottom-color: transparent;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form.is-np-suggest-open .np-suggest-wrap.is-suggest-open .np-suggest:not(.np-suggest--floating) {
        display: block !important;
        position: static !important;
        max-height: none !important;
        margin-top: -1px !important;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-top-color: #c9d8ea;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form.is-np-suggest-open .checkout-addr-modal__save-bar,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form.is-delivery-open .checkout-addr-modal__save-bar {
        visibility: visible;
        pointer-events: auto;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form.is-np-suggest-open .checkout-addr-modal__foot,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form.is-delivery-open .checkout-addr-modal__foot {
        visibility: visible;
        pointer-events: auto;
        height: auto;
        min-height: 0;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
        margin: 0;
        border-top: 1px solid #e8eef5;
        overflow: visible;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__save-bar .checkout-addr-modal__cancel {
        display: none !important;
    }

    /* Форма адреса: на телефоне без «Назад» — закрытие через ✕ или backdrop */
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .delivery-method-option,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .delivery-method-trigger,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__cancel,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__confirm,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__back,
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__close {
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(31, 100, 183, 0.12);
        cursor: pointer;
        user-select: none;
        -webkit-user-select: none;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .np-suggest__item {
        display: flex;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }

    /* Форма адреса: на телефоне без «Назад» — закрытие через ✕ или backdrop */
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__back {
        display: none !important;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal__save-bar .checkout-addr-modal__cancel {
        display: none !important;
    }

    /* Кнопка закрытия (✕) — заметнее на телефоне */
    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__close {
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
        border-radius: 12px;
        background: #ffffff;
        border: 1.5px solid #a8bdd3;
        color: #122a47;
        font-size: 18px;
        box-shadow: 0 2px 8px rgba(18, 42, 71, 0.14);
        flex-shrink: 0;
    }

    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__close:active {
        background: #e6edf5;
        border-color: #849eb8;
        color: #0a1f38;
    }

    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__close i,
    body.is-mobile-app .checkout-addr-modal button i,
    body.is-mobile-app .checkout-addr-modal button svg {
        pointer-events: none;
    }

    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__dialog {
        touch-action: auto;
    }

    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__head,
    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__foot,
    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__backdrop,
    body.is-mobile-app .checkout-addr-modal button {
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(31, 100, 183, 0.14);
    }

    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__body {
        touch-action: pan-y;
    }

    body.is-mobile-app .checkout-addr-modal input,
    body.is-mobile-app .checkout-addr-modal textarea {
        touch-action: manipulation;
    }

    body.is-mobile-app .checkout-addr-modal .checkout-addr-modal__head {
        position: relative;
        z-index: 3;
    }

    body.checkout-addr-modal-open .checkout-field-bubble {
        z-index: 12850;
    }

    body.checkout-addr-modal-open .checkout-field-bubble--mobile {
        max-width: min(260px, calc(100vw - 28px));
        padding: 10px 13px;
        font-size: 13px;
        line-height: 1.4;
        border-radius: 14px;
        box-shadow: 0 10px 28px rgba(42, 24, 16, 0.16);
        animation: checkoutFieldBubbleIn 0.2s ease;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--validation-flash .checkout-addr-modal__dialog {
        animation: checkoutModalValidationFlash 0.45s ease;
    }

    @keyframes checkoutModalValidationFlash {
        0%, 100% { transform: translateX(0); }
        20% { transform: translateX(-4px); }
        40% { transform: translateX(4px); }
        60% { transform: translateX(-3px); }
        80% { transform: translateX(3px); }
    }

    body.is-mobile-app .checkout-addr-modal-form .form-group.is-field-attention input,
    body.is-mobile-app .checkout-addr-modal-form .form-group.is-field-attention .phone-field__input,
    body.is-mobile-app .checkout-addr-modal-form .form-group.is-field-attention .phone-field {
        animation: checkoutFieldAttentionPulse 0.9s ease;
    }

    @keyframes checkoutFieldAttentionPulse {
        0%, 100% { box-shadow: 0 0 0 2px rgba(215, 140, 132, 0.12); }
        50% { box-shadow: 0 0 0 3px rgba(215, 140, 132, 0.28); }
    }

    /* Плавающие подсказки — только вне формы модалки */
    body.is-mobile-app .checkout-addr-modal:not(.checkout-addr-modal--form).is-np-suggest-open .checkout-addr-modal__foot,
    body.is-mobile-app .checkout-addr-modal:not(.checkout-addr-modal--form).is-delivery-open .checkout-addr-modal__foot {
        visibility: hidden;
        pointer-events: none;
        height: 0;
        min-height: 0;
        padding: 0;
        margin: 0;
        border: none;
        overflow: hidden;
    }

    body.is-mobile-app .checkout-addr-modal:not(.checkout-addr-modal--form).is-np-suggest-open .checkout-addr-modal__body {
        padding-bottom: 24px;
    }

    body.is-mobile-app .checkout-addr-modal:not(.checkout-addr-modal--form).is-np-suggest-open .np-suggest-wrap.is-suggest-open > input[type="text"] {
        border-bottom-left-radius: 12px;
        border-bottom-right-radius: 12px;
        border-bottom-color: #dbe6f3;
    }

    body.is-mobile-app .checkout-addr-modal:not(.checkout-addr-modal--form).is-np-suggest-open .np-suggest-wrap.is-suggest-open .np-suggest {
        position: fixed !important;
        margin: 0 !important;
        border-radius: 14px !important;
        border: 1px solid #c9d8ea !important;
        box-shadow: 0 14px 36px rgba(15, 23, 42, 0.18) !important;
        z-index: 12700 !important;
        background: #fff;
    }

    body.is-mobile-app [data-np-form]:not(.checkout-addr-modal-form) .np-suggest-wrap.is-suggest-open > input[type="text"],
    body.is-mobile-app .checkout-addr-modal:not(.is-np-suggest-open) [data-np-form] .np-suggest-wrap.is-suggest-open > input[type="text"] {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-bottom-color: transparent;
    }

    body.is-mobile-app [data-np-form]:not(.checkout-addr-modal-form) .np-suggest-wrap.is-suggest-open .np-suggest,
    body.is-mobile-app .checkout-addr-modal:not(.is-np-suggest-open) [data-np-form] .np-suggest-wrap.is-suggest-open .np-suggest {
        margin-top: -1px;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-top-color: #c9d8ea;
    }

    body.is-mobile-app [data-np-form] [data-courier-street-group][hidden],
    body.is-mobile-app [data-np-form] [data-courier-house-row][hidden] {
        display: none !important;
    }

    body.is-mobile-app [data-np-form] .delivery-method-trigger {
        min-height: 48px;
        padding: 12px 14px;
        border-radius: 12px;
        border-color: #dbe6f3;
        color: #1f3656;
        font-size: 15px;
        font-weight: 600;
    }

    body.is-mobile-app [data-np-form] .delivery-method-trigger i.fa-chevron-down {
        color: #64748b;
        font-size: 12px;
    }

    body.is-mobile-app [data-np-form] .delivery-method-option {
        min-height: 48px;
        padding: 12px 14px;
        gap: 12px;
        color: #1f3656;
        font-size: 15px;
        font-weight: 600;
    }

    body.is-mobile-app [data-np-form] .delivery-method-option:active {
        background: #eef5ff;
    }

    body.is-mobile-app [data-np-form] .delivery-method-dropdown.is-open .delivery-method-list {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        margin-top: 8px;
        max-height: min(46vh, 320px);
        border: 1px solid #dbe6f3;
        border-radius: 12px;
        box-shadow: none;
        z-index: auto !important;
    }

    body.is-mobile-app [data-np-form] .delivery-method-dropdown--overlay.is-open .delivery-method-list,
    body.is-mobile-app [data-np-form] .delivery-method-dropdown--overlay .delivery-method-list.delivery-method-list--floating {
        position: fixed !important;
        top: auto;
        left: auto;
        right: auto;
        margin-top: 0 !important;
        max-height: min(46vh, 280px);
        border: 1px solid #dbe6f3;
        border-radius: 12px;
        box-shadow: 0 14px 36px rgba(15, 23, 42, 0.18) !important;
        z-index: 13000 !important;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.is-mobile-app [data-np-form] .delivery-method-dropdown.is-open .delivery-method-trigger {
        border-bottom-left-radius: 12px;
        border-bottom-right-radius: 12px;
    }

    body.is-mobile-app [data-np-form] .delivery-method-dropdown--overlay.is-open .delivery-method-trigger {
        border-radius: 12px;
    }

    body.is-mobile-app .delivery-method-list--payment-overlay .delivery-method-option,
    body.is-mobile-app .delivery-method-list--payment-overlay .delivery-method-option__text {
        font-size: 15px;
        font-weight: 600;
        line-height: 1.35;
        color: #1f3656;
    }

    body.is-mobile-app .delivery-method-list--payment-overlay .delivery-method-option {
        min-height: 48px;
        padding: 12px 14px;
        gap: 12px;
    }

    body.is-mobile-app .delivery-method-list--payment-overlay.delivery-method-list--floating {
        position: fixed !important;
        border: 1px solid #dbe6f3 !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 14px 36px rgba(15, 23, 42, 0.18) !important;
        z-index: 13000 !important;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.is-mobile-app .np-suggest__item {
        min-height: 48px;
        padding: 12px 14px;
        color: #1f3656;
        font-size: 15px;
        line-height: 1.35;
    }

    body.is-mobile-app .np-suggest__item:active {
        background: #eef5ff;
    }

    body.is-mobile-app .checkout-addr-modal-card__menu-list {
        z-index: 13000;
        min-width: 200px;
        border-radius: 12px;
        box-shadow: 0 12px 32px rgba(15, 23, 42, 0.16);
    }

    body.is-mobile-app .checkout-addr-modal-card__menu-item {
        min-height: 44px;
        padding: 10px 12px;
        font-size: 14px;
    }

    body.is-mobile-app .profile-address-menu__list,
    body.is-mobile-app .profile-address-card .checkout-addr-modal-card__menu-list {
        z-index: 13000;
    }

    /* Гость на checkout: имя и фамилия в одну строку 50/50 */
    body.is-mobile-app.checkout-page .checkout-recipient:not(:has([data-checkout-panel="summary"])) .checkout-field-row--contact-names {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 12px;
    }

    body.is-mobile-app.checkout-page .checkout-recipient:not(:has([data-checkout-panel="summary"])) .checkout-field-row--contact-names > .form-group {
        margin-bottom: 0;
        min-width: 0;
    }

    /* Модалка «Добавить адрес» на checkout: имя и фамилия 50/50 */
    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal-form__names {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 14px;
    }

    body.is-mobile-app .checkout-addr-modal.checkout-addr-modal--form .checkout-addr-modal-form__names > .form-group {
        margin-bottom: 0;
        min-width: 0;
    }

}
