/*
 * EasyShop - Mobile Marketplace Style (Ozon-like)
 * Version: 1.2
 */

/* ============================================
   MOBILE MARKETPLACE STYLES (max 768px)
   ============================================ */
@media (max-width: 768px) {
    
    /* ===== CSS Variables for Mobile ===== */
    :root {
        --mp-primary: #ab1e40;
        --mp-primary-dark: #8a1833;
        --mp-secondary: #005BFF;
        --mp-bg: #f2ebdf;
        --mp-card-bg: #FFFFFF;
        --mp-text: #1F1F1F;
        --mp-text-light: #8B8B8B;
        --mp-border: #E8E8E8;
        --mp-success: #00C853;
        --mp-danger: #FF3D00;
        --mp-radius: 12px;
    }
    
    body {
        background: var(--mp-bg) !important;
    }
    
    /* ===== MOBILE HEADER ===== */
    .es-header {
        position: sticky;
        top: 0;
        z-index: 1000;
        background: var(--mp-primary) !important;
    }
    
    /* Hide desktop header elements */
    .es-top-bar,
    .es-logo-bar,
    .es-submenu-bar {
        display: none !important;
    }
    
    /* Hide cart in header - it's in bottom nav */
    .es-cart-link {
        display: none !important;
    }
    
    /* Show primary menu on all pages except checkout */
    body.woocommerce-checkout .es-primary-menu,
    body.woocommerce-checkout .es-main-nav .es-primary-menu {
        display: none !important;
    }
    
    /* ===== MOBILE MENU SCROLL WRAP + ARROWS (стрелки поверх меню — не съедают ширину) ===== */
    .es-primary-menu-scroll-wrap {
        display: flex !important;
        align-items: stretch !important;
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .es-menu-arrow {
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 36px !important;
        display: none !important;
        align-items: center !important;
        justify-content: center !important;
        background: linear-gradient(90deg, rgba(0,0,0,0.15) 0%, transparent 100%) !important;
        color: #fff !important;
        border: none !important;
        cursor: pointer !important;
        font-size: 20px !important;
        line-height: 1 !important;
        padding: 0 !important;
        z-index: 2 !important;
        transition: background 0.2s, opacity 0.2s !important;
        -webkit-tap-highlight-color: transparent !important;
        pointer-events: none !important;
    }
    .es-primary-menu-scroll-wrap.can-scroll-left .es-menu-arrow-left,
    .es-primary-menu-scroll-wrap.can-scroll-right .es-menu-arrow-right {
        pointer-events: auto !important;
    }
    .es-menu-arrow-left {
        left: 0 !important;
        background: linear-gradient(90deg, rgba(0,0,0,0.2) 0%, transparent 100%) !important;
    }
    .es-menu-arrow-right {
        right: 0 !important;
        background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.15) 100%) !important;
    }
    .es-menu-arrow:active {
        opacity: 0.9 !important;
    }
    .es-primary-menu-scroll-wrap.can-scroll-left .es-menu-arrow-left {
        display: flex !important;
    }
    .es-primary-menu-scroll-wrap.can-scroll-right .es-menu-arrow-right {
        display: flex !important;
    }
    /* Меню на всю ширину обёртки; отступы по бокам, чтобы пункты не уходили под стрелки */
    .es-primary-menu-scroll-wrap .es-primary-menu {
        order: 0 !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: 100% !important;
        padding: 0 12px !important;
    }
    /* ===== MOBILE PRIMARY MENU - White text, Bold ===== */
    .es-main-nav .es-primary-menu-scroll-wrap .es-primary-menu,
    .es-main-nav .es-primary-menu,
    nav.es-main-nav .es-primary-menu,
    .es-primary-menu {
        display: flex !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        list-style: none !important;
        margin: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }
    
    .es-primary-menu::-webkit-scrollbar {
        display: none !important;
    }
    
    .es-primary-menu > li,
    .es-main-nav .es-primary-menu > li {
        flex-shrink: 0 !important;
        position: relative !important;
    }
    
    .es-primary-menu > li > a,
    .es-main-nav .es-primary-menu > li > a,
    nav.es-main-nav .es-primary-menu > li > a {
        display: block !important;
        padding: 8px 12px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: #ffffff !important;
        transition: all var(--es-transition) !important;
        border-radius: 4px !important;
        white-space: nowrap !important;
        text-decoration: none !important;
    }
    
    .es-primary-menu > li > a:hover,
    .es-primary-menu > li.current-menu-item > a,
    .es-primary-menu > li.active > a,
    .es-main-nav .es-primary-menu > li > a:hover,
    .es-main-nav .es-primary-menu > li.current-menu-item > a,
    .es-main-nav .es-primary-menu > li.active > a {
        background: rgba(255, 255, 255, 0.2) !important;
        color: #ffffff !important;
    }
    
    /* ===== MOBILE NAV - Ozon Style ===== */
    .es-main-nav {
        background: var(--mp-primary) !important;
        padding: 0 !important;
        position: relative;
    }
    
    .es-main-nav .es-container {
        flex-direction: column;
        gap: 0;
        padding: 0 !important;
        max-width: 100% !important;
    }
    
    /* ===== MOBILE HEADER - Ozon Style ===== */
    .es-main-nav {
        background: var(--mp-primary) !important;
        padding: 0 !important;
    }
    
    .es-main-nav .es-container {
        padding: 0 !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    
    /* Row 1: Stores dropdown (same as desktop) + Promo Button */
    .mp-header-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 12px;
        background: var(--mp-primary);
        gap: 10px;
        overflow: visible;
    }
    
    /* Desktop-style dropdown in mobile row - center menu by viewport width */
    .mp-header-row .es-stores-dropdown .es-stores-menu {
        position: fixed !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        top: 56px !important;
        width: calc(100vw - 24px) !important;
        max-width: 360px !important;
        min-width: 0 !important;
        max-height: 60vh;
        overflow-y: auto;
    }
    .mp-header-row .es-stores-dropdown .es-stores-menu::before {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }
    
    /* Address dropdown - left side */
    .mp-address-dropdown {
        position: relative;
        color: #fff;
        font-size: 13px;
        font-weight: 400;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 6px;
        flex: 1;
        min-width: 0;
    }
    
    .mp-address-text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .mp-address-dropdown::after {
        content: '›';
        font-size: 14px;
        transform: rotate(90deg);
        flex-shrink: 0;
    }
    
    .mp-address-dropdown.active::after {
        transform: rotate(-90deg);
    }
    
    .mp-address-menu {
        position: fixed;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        background: #fff;
        border-radius: 20px 20px 0 0;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.2);
        z-index: 1001;
        display: none;
        max-height: 70vh;
        overflow-y: auto;
        transform: translateY(100%);
        transition: transform 0.3s ease;
    }
    
    .mp-address-dropdown.active .mp-address-menu {
        transform: translateY(0);
    }
    
    .mp-address-dropdown.active .mp-address-menu {
        display: block;
    }
    
    .mp-address-item {
        display: block;
        padding: 14px 16px;
        color: var(--mp-text);
        border-bottom: 1px solid var(--mp-border);
        text-decoration: none;
        font-size: 14px;
    }
    
    .mp-address-item:first-child {
        border-radius: 12px 12px 0 0;
    }
    
    .mp-address-item:last-child {
        border-bottom: none;
        border-radius: 0 0 12px 12px;
    }
    
    .mp-address-item:active {
        background: #f5f5f5;
    }
    
    /* Backdrop overlay for dropdown */
    .mp-address-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        pointer-events: none;
    }
    
    .mp-address-dropdown.active ~ .mp-address-backdrop,
    body.mp-address-open .mp-address-backdrop {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    
    /* Promo Code Button - White bg, orange text - Mobile: % ПРОМОКОДЫ % */
    .mp-promo-btn-header {
        display: flex !important;
        align-items: center;
        gap: 4px;
        background: #fff !important;
        color: var(--mp-primary) !important;
        padding: 6px 12px !important;
        border-radius: 16px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        border: none !important;
        box-shadow: none !important;
    }
    
    .mp-promo-btn-header:hover,
    .mp-promo-btn-header:active {
        color: var(--mp-primary-dark) !important;
        background: #fff !important;
    }
    
    /* Скрыть десктопную кнопку промокод на мобильной */
    .es-promo-button-desktop {
        display: none !important;
    }
    
    
    /* Row 2: Search Bar - Full Width */
    .es-search-form {
        order: 10;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 12px 12px !important;
        background: var(--mp-primary) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .es-search-form input[type="search"] {
        width: 100% !important;
        height: 44px !important;
        padding: 0 16px 0 44px !important;
        font-size: 15px !important;
        background: #fff !important;
        border-radius: 8px !important;
        border: none !important;
        box-sizing: border-box !important;
    }
    
    .es-search-form input[type="search"]::placeholder {
        color: #999;
    }
    
    /* Search icon - left side, perfectly centered */
    .es-search-form button {
        position: absolute !important;
        left: 12px !important;
        top: 0 !important;
        bottom: 12px !important;
        width: 44px !important;
        height: 44px !important;
        background: transparent !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: none !important;
        pointer-events: none !important;
    }
    
    .es-search-form button svg {
        fill: #999 !important;
        width: 20px !important;
        height: 20px !important;
    }
    
    
    /* ===== MOBILE CONTENT AREA ===== */
    .es-content {
        padding: 0 !important;
    }
    
    .es-container {
        padding: 0 !important;
        max-width: 100% !important;
    }
    
    .es-front-page {
        padding: 0 !important;
    }
    
    /* ===== PROMO BANNER SECTION - hidden, use site default bg ===== */
    .mp-promo-banner {
        display: none !important;
    }
    
    /* ===== CATEGORY GRID - Horizontal scroll, 4 visible ===== */
    .mp-categories-scroll {
        background: var(--mp-bg);
        padding: 15px 0;
        margin-bottom: 10px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE and Edge */
    }
    
    .mp-categories-scroll::-webkit-scrollbar {
        display: none; /* Chrome, Safari, Opera */
    }
    
    /* Categories visible on all pages */
    
    .mp-categories-list {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px !important;
        padding: 0 10px !important;
        list-style: none;
        margin: 0;
        width: max-content;
        min-width: 100%;
    }
    
    .mp-category-item {
        flex-shrink: 0;
        text-align: center;
        width: calc((100vw - 40px) / 4) !important;
        min-width: calc((100vw - 40px) / 4) !important;
        max-width: calc((100vw - 40px) / 4) !important;
    }
    
    /* Hide Catalog, Sales, Delivery items */
    .mp-category-item.catalog,
    .mp-category-item.sales,
    .mp-category-item.delivery {
        display: none !important;
    }
    
    .mp-category-icon {
        width: 100% !important;
        aspect-ratio: 1;
        background: #fff;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 8px;
        transition: transform 0.2s;
        overflow: hidden;
        padding: 0;
    }
    
    .mp-category-icon:active {
        transform: scale(0.95);
    }
    
    .mp-category-icon svg {
        display: none !important;
    }
    
    .mp-category-icon img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 12px !important;
    }
    
    .mp-category-name {
        font-size: 12px;
        font-weight: 500;
        color: var(--mp-text);
        line-height: 1.2;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    
    /* ===== PRODUCTS GRID - Marketplace Style ===== */
    .es-products-grid,
    .es-main-products .es-products-grid,
    .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 0 8px !important;
        margin: 0 !important;
        background: var(--mp-bg) !important;
        list-style: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* ===== PRODUCT CARD - Ozon Style ===== */
    .es-product-card,
    .es-main-products .es-product-card,
    .woocommerce ul.products li.product {
        background: var(--mp-card-bg) !important;
        border-radius: var(--mp-radius) !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 8px !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
        border: 1px solid #e8e8e8 !important;
        transition: none !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .es-product-card:hover,
    .woocommerce ul.products li.product:hover {
        transform: none !important;
        box-shadow: none !important;
    }
    
    /* Product Image */
    .es-product-image,
    .es-main-products .es-product-image {
        position: relative !important;
        display: block !important;
        padding-top: 100% !important;
        background: transparent !important;
        overflow: hidden !important;
        border-radius: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
        border: none !important;
    }
    
    
    .woocommerce ul.products li.product > a {
        position: relative !important;
        display: block !important;
    }
    
    .es-product-image img,
    .es-main-products .es-product-image img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        border-radius: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        z-index: 1 !important;
        border: none !important;
    }
    
    
    /* ===== FRONT PAGE PRODUCTS FIX ===== */
    .es-front-page .es-products-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        padding: 0 8px !important;
    }
    
    .es-front-page .es-product-card {
        background: var(--mp-card-bg) !important;
        border-radius: 12px !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 8px !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        border: 1px solid #e8e8e8 !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    }
    
    .es-front-page .es-product-image {
        position: relative !important;
        width: 100% !important;
        padding-top: 100% !important;
        overflow: hidden !important;
        background: transparent !important;
        border-radius: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
        border: none !important;
    }
    
    
    .es-front-page .es-product-image a {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        z-index: 1 !important;
        border: none !important;
    }
    
    .es-front-page .es-product-image img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
        border-radius: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        z-index: 1 !important;
    }
    
.es-front-page .es-product-info {
        padding: 12px !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .es-front-page .es-product-title {
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;
        margin: 0 0 8px 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        min-height: 34px !important;
    }
    
    .es-front-page .es-product-price {
        font-size: 16px !important;
        font-weight: 700 !important;
        margin: 0 0 8px 0 !important;
    }
    
    .es-front-page .es-add-to-cart {
        display: block !important;
        width: 100% !important;
        margin: 8px 0 0 0 !important;
        padding: 10px 12px !important;
        background: var(--mp-primary) !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-align: center !important;
        border-radius: 8px !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        margin-top: auto !important;
    }
    
    .es-front-page .es-sale-badge {
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        background: var(--mp-danger) !important;
        color: #fff !important;
        font-size: clamp(10px, 2.5vw, 11px) !important;
        font-weight: 600 !important;
        padding: clamp(4px, 1.2vw, 6px) clamp(8px, 2vw, 10px) !important;
        border-radius: clamp(6px, 2vw, 12px) !important;
        z-index: 5 !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        max-width: calc(100% - 16px) !important;
        box-sizing: border-box !important;
    }
    
    /* Favorite Heart Button */
    .mp-favorite-btn {
        position: absolute !important;
        top: 8px;
        right: 8px;
        width: 32px;
        height: 32px;
        background: rgba(255,255,255,0.9) !important;
        border: none;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 10;
        transition: transform 0.2s;
    }
    
    .mp-favorite-btn:active {
        transform: scale(0.9);
    }
    
    .mp-favorite-btn svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: var(--mp-text-light);
        stroke-width: 2;
    }
    
    .mp-favorite-btn.active svg {
        fill: var(--mp-danger);
        stroke: var(--mp-danger);
    }
    
    /* Sale Badge - Ozon Style, автомасштабирование */
    .es-sale-badge,
    .woocommerce span.onsale {
        position: absolute !important;
        top: 8px !important;
        left: 8px !important;
        right: auto !important;
        background: var(--mp-danger) !important;
        color: #fff !important;
        font-size: clamp(10px, 2.5vw, 11px) !important;
        font-weight: 600 !important;
        padding: clamp(4px, 1.2vw, 6px) clamp(8px, 2vw, 10px) !important;
        border-radius: clamp(6px, 2vw, 12px) !important;
        line-height: 1.25 !important;
        white-space: normal !important;
        min-width: auto !important;
        min-height: auto !important;
        max-width: calc(100% - 16px) !important;
        box-sizing: border-box !important;
        z-index: 5;
    }
    
    /* Product Info */
    .es-product-info,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        padding: 10px 12px !important;
        background: var(--mp-card-bg);
    }
    
    /* Product Title */
    .es-product-title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;
        color: var(--mp-text) !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 34px;
    }
    
    .es-product-title a {
        color: inherit !important;
    }
    
    /* Product Price - эталон: отступ до кнопки 8px под ценой + 8px над кнопкой (каталог, категории, похожие) */
    .es-product-price,
    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price,
    .archive ul.products li.product .price,
    .tax-product_cat ul.products li.product .price,
    body.woocommerce ul.products li.product .price,
    .woocommerce .related.products li.product .price,
    .es-related-products-wrapper li.product .price {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: var(--mp-text) !important;
        padding: 0 12px 8px 12px !important;
        margin: 0 !important;
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 0 8px !important;
        position: relative;
    }
    
    /* Removed "СТОИМОСТЬ" label from product preview */
    /* .woocommerce ul.products li.product .price::before {
        content: "СТОИМОСТЬ" !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        color: var(--es-text-color) !important;
        letter-spacing: 0.5px !important;
        display: block !important;
    } */
    
    .es-product-price del,
    .woocommerce ul.products li.product .price del {
        font-size: 12px !important;
        font-weight: 400 !important;
        color: var(--mp-text-light) !important;
        text-decoration: line-through !important;
    }
    
    .es-product-price ins,
    .woocommerce ul.products li.product .price ins {
        text-decoration: none !important;
        color: var(--mp-danger) !important;
        font-weight: 700 !important;
    }
    
    /* Price with Ozon card discount badge */
    .mp-price-badge {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        background: var(--mp-secondary);
        color: #fff;
        font-size: 10px;
        font-weight: 600;
        padding: 3px 6px;
        border-radius: 4px;
        margin-top: 4px;
        width: fit-content;
    }
    
    /* Add to Cart Button - Compact */
    .es-product-card .es-add-to-cart,
    .es-product-info .es-add-to-cart {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 8px 0 0 0 !important;
        padding: 10px 12px !important;
        background: var(--mp-primary) !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        border-radius: 8px !important;
        text-align: center !important;
        transition: background 0.2s !important;
        box-sizing: border-box !important;
        height: 44px !important;
        line-height: 1 !important;
    }
    
    .woocommerce ul.products li.product .button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: calc(100% - 16px) !important;
        margin: 8px 8px 0 8px !important;
        padding: 10px 12px !important;
        background: var(--mp-primary) !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        border-radius: 8px !important;
        text-align: center !important;
        transition: background 0.2s !important;
        box-sizing: border-box !important;
        height: 44px !important;
        line-height: 1 !important;
    }
    
    .es-add-to-cart:active,
    .woocommerce ul.products li.product .button:active {
        background: var(--mp-primary-dark) !important;
    }
    
    /* Quick Buy Button - same size as Add to Cart, уменьшено расстояние */
    .es-product-card .ocl-quick-buy-btn-loop,
    .es-product-info .ocl-quick-buy-btn-loop {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 3px 0 0 0 !important;
        padding: 10px 12px !important;
        background: transparent !important;
        color: var(--mp-primary) !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0 !important;
        border: 1.5px solid var(--mp-primary) !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
        line-height: 1 !important;
        text-align: center !important;
        height: 44px !important;
    }
    
    .woocommerce ul.products li.product .ocl-quick-buy-btn-loop,
    .es-front-page .ocl-quick-buy-btn-loop {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: calc(100% - 16px) !important;
        margin: 3px 8px 12px 8px !important;
        padding: 10px 12px !important;
        background: transparent !important;
        color: var(--mp-primary) !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0 !important;
        border: 1.5px solid var(--mp-primary) !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
        line-height: 1 !important;
        text-align: center !important;
        height: 44px !important;
        min-width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
    }
    
    /* Color/Size Indicators */
    .mp-product-variants {
        display: flex;
        gap: 4px;
        padding: 0 12px;
        margin-bottom: 8px;
    }
    
    .mp-variant-dot {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        border: 1px solid var(--mp-border);
    }
    
    /* Rating Stars */
    .mp-product-rating {
        display: flex;
        align-items: center;
        gap: 4px;
        padding: 0 12px;
        margin-bottom: 6px;
    }
    
    .mp-stars {
        display: flex;
        gap: 2px;
    }
    
    .mp-stars svg {
        width: 12px;
        height: 12px;
        fill: #FFD700;
    }
    
    .mp-rating-count {
        font-size: 11px;
        color: var(--mp-text-light);
    }
    
    /* Delivery Badge */
    .mp-delivery-badge {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        background: #E8F5E9;
        color: var(--mp-success);
        font-size: 10px;
        font-weight: 500;
        padding: 4px 8px;
        border-radius: 4px;
        margin: 0 12px 8px;
    }
    
    .mp-delivery-badge svg {
        width: 12px;
        height: 12px;
        fill: currentColor;
    }
    
    /* ===== BOTTOM NAVIGATION BAR ===== */
    .mp-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--mp-card-bg);
        border-top: 1px solid var(--mp-border);
        display: flex;
        justify-content: space-around;
        padding: 8px 0;
        padding-bottom: calc(8px + env(safe-area-inset-bottom));
        z-index: 9999;
    }
    
    .mp-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        text-decoration: none;
        color: var(--mp-text-light);
        font-size: 10px;
        padding: 4px 12px;
        transition: color 0.2s;
    }
    
    .mp-nav-item.active {
        color: var(--mp-primary);
    }
    
    .mp-nav-item svg {
        width: 24px;
        height: 24px;
        fill: currentColor;
    }
    
    .mp-nav-item .mp-nav-badge {
        position: absolute;
        top: -2px;
        right: 8px;
        background: var(--mp-danger);
        color: #fff;
        font-size: 10px;
        font-weight: 600;
        min-width: 16px;
        height: 16px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Add padding to body for bottom nav */
    body.has-mobile-nav {
        padding-bottom: 70px;
    }
    
    /* ===== FOOTER - Show on Mobile, centered ===== */
    .es-footer {
        display: block !important;
        padding-bottom: 80px !important;
    }
    
    .es-footer-content {
        grid-template-columns: 1fr !important;
        text-align: center !important;
        gap: 20px !important;
    }
    
    .es-footer-addresses,
    .es-footer-contacts {
        text-align: center !important;
    }
    
    .es-footer-logo {
        order: -1 !important;
    }
    
    .es-footer-social {
        justify-content: center !important;
    }
    
    .es-footer-social .es-social-icons {
        justify-content: center !important;
    }
    
    .es-footer-legal {
        text-align: center !important;
    }
    
    /* ===== WOOCOMMERCE OVERRIDES ===== */
    .woocommerce .woocommerce-ordering {
        display: none !important;
    }
    
    /* Category Title */
    .es-category-title {
        font-size: 18px !important;
        font-weight: 700 !important;
        padding: 15px !important;
        margin: 0 !important;
        background: var(--mp-card-bg);
        color: var(--mp-text);
    }
    
    /* ===== SINGLE PRODUCT PAGE ===== */
    .woocommerce div.product {
        background: var(--mp-bg) !important;
        padding: 0 !important;
    }
    
    .woocommerce div.product div.images {
        border-radius: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        margin-bottom: 10px !important;
    }
    
    .woocommerce div.product div.summary {
        background: var(--mp-card-bg) !important;
        padding: 15px !important;
        margin: 0 !important;
    }
    
    .woocommerce div.product .product_title {
        font-size: 18px !important;
        margin-bottom: 10px !important;
    }
    
    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
        font-size: 22px !important;
        color: var(--mp-text) !important;
    }
    
    .woocommerce div.product form.cart button.single_add_to_cart_button {
        width: 100% !important;
        background: var(--mp-primary) !important;
        border-radius: 10px !important;
        padding: 15px !important;
        font-size: 15px !important;
    }
    
    /* ===== CART PAGE ===== */
    .woocommerce-cart .woocommerce {
        padding: 0 !important;
    }
    
    /* Заголовок Корзина - центрирование */
    .woocommerce-cart .woocommerce h1,
    .woocommerce-cart .woocommerce .page-title,
    .woocommerce-cart .woocommerce .entry-title {
        text-align: center !important;
        padding: 20px 12px 0 12px !important;
        margin: 0 auto !important;
        margin-bottom: 0 !important;
        font-size: 20px !important;
        font-weight: 600 !important;
        color: var(--mp-text) !important;
    }
    
    /* Убрать пробел после заголовка до модуля с галочками - модуль сразу после заголовка */
    .woocommerce-cart .woocommerce .es-cart-piece-notice {
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        padding: 15px 12px !important;
    }
    
    /* Отступ от модуля с галочками до заголовка "Итого" такой же как снизу модуля */
    .woocommerce-cart .woocommerce .es-cart-totals-top {
        margin-top: 0 !important;
    }
    
    .woocommerce table.shop_table {
        border-radius: 0 !important;
        width: 100% !important;
        table-layout: fixed !important;
        display: table !important;
    }
    
    /* Hide shipping destination notice in mobile */
    .woocommerce .cart-collaterals .cart_totals p.woocommerce-shipping-destination,
    .woocommerce .cart-collaterals .cart_totals .woocommerce-shipping-destination,
    .woocommerce .cart-collaterals .cart_totals .shipping p {
        display: none !important;
    }
    
    /* Prevent horizontal scroll on mobile */
    .woocommerce-cart .woocommerce,
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .woocommerce table.shop_table {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* Make cart table responsive - stack columns on mobile */
    .woocommerce-cart .woocommerce table.shop_table thead {
        display: none !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody tr {
        display: block !important;
        border: 1px solid #ddd !important;
        margin-bottom: 15px !important;
        border-radius: 8px !important;
        padding: 10px !important;
        position: relative !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 8px 0 !important;
        border: none !important;
        text-align: left !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody td::before {
        content: attr(data-title) !important;
        font-weight: 600 !important;
        margin-right: 10px !important;
        flex-shrink: 0 !important;
    }
    
    /* Крестик удаления товара - видимый и кликабельный */
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        padding: 0 !important;
        display: block !important;
        visibility: visible !important;
        z-index: 10 !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-remove::before {
        display: none !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-remove a.remove {
        display: block !important;
        width: 30px !important;
        height: 30px !important;
        line-height: 30px !important;
        text-align: center !important;
        background: #ff4444 !important;
        color: #fff !important;
        border-radius: 50% !important;
        font-size: 20px !important;
        font-weight: bold !important;
        text-decoration: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-thumbnail {
        width: 100% !important;
        max-width: 150px !important;
        margin: 0 auto 10px !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-thumbnail::before {
        display: none !important;
    }
    
    /* Убрать слово "Товар" из названия товара, оставить только название жирным */
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-name {
        width: 100% !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    
    /* Скрыть data-title "Товар" или "Product" для названия товара */
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-name::before {
        display: none !important;
        content: '' !important;
    }
    
    /* Название товара жирным, убрать слово "Товар" */
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-name a,
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-name {
        font-weight: 700 !important;
        font-size: 16px !important;
        color: var(--mp-text) !important;
        width: 100% !important;
    }
    
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-quantity,
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-price,
    .woocommerce-cart .woocommerce table.shop_table tbody td.product-subtotal {
        width: 100% !important;
    }
    
    /* Ensure all elements fit in screen width */
    .woocommerce-cart .woocommerce * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .woocommerce-cart .woocommerce img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* ===== CHECKOUT PAGE ===== */
    .woocommerce-checkout .woocommerce {
        max-width: 100% !important;
        padding: 10px !important;
    }
    
    .es-checkout-section {
        border-radius: var(--mp-radius) !important;
    }
    
    .woocommerce #place_order {
        background: var(--mp-primary) !important;
        border-radius: 10px !important;
    }
    
    /* ===== MESSAGES ===== */
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        margin: 10px !important;
        border-radius: 10px !important;
    }
    
    /* ===== LOADING ===== */
    .es-loading::after {
        border-top-color: var(--mp-primary) !important;
    }
    
    /* ===== MODAL ADJUSTMENTS - Один экран без прокрутки, блок под фото ужимается ===== */
    .es-modal {
        padding: 12px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    
    .es-product-modal .es-modal-content {
        width: 100% !important;
        max-width: 100% !important;
        height: calc(100vh - 24px) !important;
        max-height: calc(100vh - 24px) !important;
        margin: 0 !important;
        border-radius: var(--mp-radius) !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        box-sizing: border-box !important;
    }
    
    .es-product-modal #es-product-modal-content {
        flex: 1 1 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .es-product-modal-body {
        display: flex !important;
        flex-direction: column !important;
        padding: 12px !important;
        overflow: hidden !important;
        flex: 1 1 0 !important;
        min-height: 0 !important;
    }
    
    .es-product-modal-gallery {
        flex-shrink: 0 !important;
        margin-bottom: 10px !important;
    }
    
    .es-product-modal-image {
        width: 100% !important;
        max-height: 38vh !important;
    }
    
    .es-product-modal-image img {
        width: 100% !important;
        height: auto !important;
        max-height: 38vh !important;
        object-fit: contain !important;
    }
    
    .es-product-modal-info {
        flex: 1 1 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    
    .es-product-modal-title {
        font-size: 16px !important;
        margin-bottom: 8px !important;
        line-height: 1.25 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        flex-shrink: 0 !important;
    }
    
    .es-product-modal-price-wrapper {
        margin-bottom: 8px !important;
        width: 100% !important;
        flex-shrink: 0 !important;
    }
    
    .es-product-modal-price-label {
        font-size: 10px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        color: var(--es-text-color) !important;
        letter-spacing: 0.5px !important;
    }
    
    .es-product-modal-price {
        font-size: 18px !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        line-height: 1 !important;
    }
    
    .es-product-modal-quantity-wrapper {
        width: 100% !important;
        margin-bottom: 8px !important;
        flex-shrink: 0 !important;
    }
    
    .es-product-modal-quantity-label {
        font-size: 10px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        color: var(--es-text-color) !important;
        letter-spacing: 0.5px !important;
    }
    
    .es-product-modal-quantity-control {
        width: fit-content !important;
        max-width: 200px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .es-product-modal-quantity-control .es-qty-btn {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        padding: 8px 4px !important;
        flex-shrink: 0 !important;
        box-sizing: border-box !important;
    }
    
    .es-product-modal-quantity-control .qty {
        width: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
        flex-shrink: 0 !important;
    }
    
    .es-product-modal-actions {
        flex-direction: column !important;
        gap: 8px !important;
        padding-top: 0 !important;
        margin-top: auto !important;
        flex-shrink: 0 !important;
    }
    
    .es-product-modal-actions > *,
    .es-product-modal-actions form.cart {
        width: 100% !important;
        min-width: auto !important;
    }
    
    .es-product-modal-actions form.cart {
        width: 100% !important;
    }
    
    .es-product-modal-add-to-cart {
        background: var(--mp-primary) !important;
        border-radius: 8px !important;
        height: 46px !important;
        line-height: 1 !important;
        width: 100% !important;
    }
    
    .es-product-modal-actions .ocl-quick-buy-btn,
    .es-product-modal-actions .ocl-quick-buy-btn-popup {
        height: 46px !important;
        line-height: 1 !important;
        border-radius: 8px !important;
        width: 100% !important;
    }
    
    .es-product-modal-view-full {
        margin-top: 6px !important;
        font-size: 12px !important;
        flex-shrink: 0 !important;
    }

/* ===== ANIMATIONS ===== */
@keyframes mp-slide-up {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes mp-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
}

/* Skeleton Loading */
.mp-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: mp-skeleton-loading 1.5s infinite;
    border-radius: 4px;
}

@keyframes mp-skeleton-loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* ============================================
   ADDITIONAL MOBILE STYLES
   ============================================ */
@media (max-width: 768px) {
    
    /* Hide header banners on mobile */
    .es-header-banner {
        display: none !important;
    }
    
    /* Promo banner responsive */
    .mp-promo-banner {
        min-height: 120px;
    }
    
    /* Product card image carousel dots */
    .mp-image-dots {
        position: absolute;
        bottom: 8px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 4px;
    }
    
    .mp-image-dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255,255,255,0.5);
    }
    
    .mp-image-dot.active {
        background: #fff;
    }
    
    /* Stock badge */
    .mp-stock-badge {
        display: inline-flex;
        align-items: center;
        font-size: 11px;
        color: var(--mp-success);
        margin: 0 12px 6px;
    }
    
    .mp-stock-badge.out-of-stock {
        color: var(--mp-danger);
    }
    
    /* Quantity selector compact */
    .woocommerce .quantity {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    
    .woocommerce .quantity .qty {
        width: 50px !important;
        padding: 8px !important;
        text-align: center !important;
        border-radius: 8px !important;
    }
    
    /* Search suggestions dropdown */
    .mp-search-suggestions {
        position: absolute;
        top: 100%;
        left: 12px;
        right: 12px;
        background: var(--mp-card-bg);
        border-radius: 0 0 10px 10px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        z-index: 1000;
        max-height: 300px;
        overflow-y: auto;
    }
    
    .mp-search-suggestion-item {
        padding: 12px 15px;
        border-bottom: 1px solid var(--mp-border);
        display: flex;
        align-items: center;
        gap: 12px;
    }
    
    .mp-search-suggestion-item img {
        width: 40px;
        height: 40px;
        object-fit: cover;
        border-radius: 4px;
    }
    
    /* Пустая корзина: без flex на p — иначе ::before (иконка) наезжает на текст и кнопку */
    .woocommerce-cart .cart-empty.woocommerce-info,
    .woocommerce-cart p.cart-empty {
        display: block !important;
        text-align: center !important;
        padding: 28px 18px 22px !important;
        margin: 16px 12px 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        background: #fff !important;
        border-radius: 12px !important;
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06) !important;
        position: relative !important;
        z-index: 1 !important;
        overflow: visible !important;
    }
    
    .woocommerce-cart .cart-empty::before {
        content: '🛒';
        font-size: 52px;
        line-height: 1 !important;
        display: block !important;
        margin: 0 auto 14px !important;
        padding: 0 !important;
        text-align: center !important;
        position: static !important;
    }
    
    .woocommerce-cart .cart-empty p,
    .woocommerce-cart .woocommerce-info p {
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        max-width: 100% !important;
    }
    
    /* Return to shop button - растянуть на всю ширину, отступ от блока с текстом */
    .woocommerce-cart .return-to-shop {
        width: 100% !important;
        padding: 0 12px !important;
        margin: 16px 0 20px !important;
        display: block !important;
        clear: both !important;
        position: relative !important;
        z-index: 2 !important;
    }
    
    .woocommerce-cart .return-to-shop a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        background: var(--mp-primary) !important;
        color: #fff !important;
        border-radius: 10px !important;
        padding: 15px 20px !important;
        text-align: center !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }
    
    .woocommerce-cart .return-to-shop a:hover,
    .woocommerce-cart .return-to-shop a:active {
        background: var(--mp-primary-dark) !important;
        color: #fff !important;
    }
    
    /* Checkout form mobile */
    .woocommerce-checkout .form-row {
        margin-bottom: 15px !important;
    }
    
    .woocommerce-checkout .form-row label {
        font-size: 13px !important;
        margin-bottom: 5px !important;
    }
    
    .woocommerce-checkout .form-row input,
    .woocommerce-checkout .form-row select,
    .woocommerce-checkout .form-row textarea {
        padding: 14px !important;
        border-radius: 10px !important;
        border: 1px solid var(--mp-border) !important;
        font-size: 15px !important;
    }
    
    .woocommerce-checkout .form-row input:focus,
    .woocommerce-checkout .form-row select:focus,
    .woocommerce-checkout .form-row textarea:focus {
        border-color: var(--mp-primary) !important;
        box-shadow: 0 0 0 3px rgba(171,30,64,0.1) !important;
    }
    
    /* Order review table mobile */
    .woocommerce-checkout-review-order-table {
        border-radius: 12px !important;
        overflow: hidden !important;
    }
    
    .woocommerce-checkout-review-order-table thead {
        display: none !important;
    }
    
    .woocommerce-checkout-review-order-table tbody td {
        display: block !important;
        text-align: left !important;
        padding: 10px 15px !important;
    }
    
    .woocommerce-checkout-review-order-table tbody td.product-name {
        font-weight: 500 !important;
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
    
    .woocommerce-checkout-review-order-table tbody td.product-total {
        padding-top: 5px !important;
        color: var(--mp-text-light) !important;
    }
    
    /* Toast notification */
    .mp-toast {
        position: fixed;
        bottom: 80px;
        left: 50%;
        transform: translateX(-50%) translateY(100px);
        background: var(--mp-text);
        color: #fff;
        padding: 12px 24px;
        border-radius: 8px;
        font-size: 14px;
        z-index: 10000;
        opacity: 0;
        transition: all 0.3s ease;
    }
    
    .mp-toast.show {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
    }
    
    /* Product quick view modal */
    .mp-quickview-modal {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--mp-card-bg);
        border-radius: 20px 20px 0 0;
        padding: 20px;
        z-index: 10001;
        transform: translateY(100%);
        transition: transform 0.3s ease;
        max-height: 80vh;
        overflow-y: auto;
    }
    
    .mp-quickview-modal.show {
        transform: translateY(0);
    }
    
    .mp-quickview-handle {
        width: 40px;
        height: 4px;
        background: var(--mp-border);
        border-radius: 2px;
        margin: 0 auto 15px;
    }
    
    /* Swipe hint */
    .mp-swipe-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        color: var(--mp-text-light);
        font-size: 12px;
        padding: 10px;
    }
    
    .mp-swipe-hint svg {
        width: 16px;
        height: 16px;
        fill: currentColor;
        animation: mp-swipe 1.5s ease-in-out infinite;
    }
    
    @keyframes mp-swipe {
        0%, 100% { transform: translateX(0); }
        50% { transform: translateX(10px); }
    }
    
    /* Hide desktop-only elements in header */
    .es-top-bar .es-stores-dropdown,
    .es-top-bar .es-social-icons {
        display: none !important;
    }
    
    /* Show social icons in footer */
    .es-footer .es-social-icons {
        display: flex !important;
        justify-content: center !important;
    }
    
    /* Adjust content padding for bottom nav */
    .es-content {
        padding-bottom: 80px !important;
    }
    
    /* WooCommerce notices mobile */
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        margin: 10px !important;
        padding: 15px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }
    
    /* Product gallery mobile */
    .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }
    
    .woocommerce div.product div.images .woocommerce-product-gallery__image {
        flex: 0 0 100%;
        scroll-snap-align: start;
    }
    
    /* Related products mobile */
    .woocommerce .related.products {
        padding: 0 !important;
    }
    
    .es-related-products-wrapper {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 15px !important;
        margin-top: 20px !important;
        padding: 0 8px !important;
    }
    
    .es-related-products-wrapper > h2 {
        padding: 0 !important;
        margin: 0 !important;
        font-size: 18px !important;
        background: transparent !important;
        width: 100% !important;
    }
    
    .woocommerce .related.products > h2 {
        padding: 0 !important;
        margin: 0 !important;
        font-size: 18px !important;
        background: transparent !important;
    }
    
    .woocommerce .related.products ul.products,
    .es-related-products-wrapper > ul.products {
        padding: 0 !important;
        width: 100% !important;
    }
    
    /* ===== PRODUCT CARDS FIX - Same style everywhere ===== */
    /* Shop page, category pages, search results */
    .woocommerce-page ul.products li.product,
    .archive ul.products li.product,
    .tax-product_cat ul.products li.product,
    .search-results ul.products li.product,
    body.woocommerce ul.products li.product {
        background: var(--mp-card-bg) !important;
        border-radius: 12px !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 8px !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
        border: 1px solid #e8e8e8 !important;
        transition: none !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .woocommerce-page ul.products li.product > a,
    .archive ul.products li.product > a,
    .tax-product_cat ul.products li.product > a,
    body.woocommerce ul.products li.product > a {
        display: block !important;
        position: relative !important;
        padding: 8px !important;
        background: transparent !important;
        border-radius: 0 !important;
        overflow: hidden !important;
        margin-bottom: 0 !important;
        border: none !important;
    }
    
    .woocommerce-page ul.products li.product a img,
    .archive ul.products li.product a img,
    .tax-product_cat ul.products li.product a img,
    body.woocommerce ul.products li.product a img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 !important;
        object-fit: contain !important;
        object-position: center !important;
        border-radius: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        display: block !important;
        border: none !important;
    }
    
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .archive ul.products li.product .woocommerce-loop-product__title,
    .tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.woocommerce ul.products li.product .woocommerce-loop-product__title {
        padding: 10px 12px 0 !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;
        color: var(--mp-text) !important;
        margin: 0 !important;
        min-height: 34px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    
    .woocommerce-page ul.products li.product .price,
    .archive ul.products li.product .price,
    .tax-product_cat ul.products li.product .price,
    body.woocommerce ul.products li.product .price,
    .woocommerce .related.products li.product .price,
    .es-related-products-wrapper li.product .price {
        padding: 6px 12px 8px 12px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: var(--mp-text) !important;
        margin: 0 !important;
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 0 8px !important;
    }
    
    .woocommerce-page ul.products li.product .button,
    .archive ul.products li.product .button,
    .tax-product_cat ul.products li.product .button,
    body.woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .ocl-quick-buy-btn-loop,
    .archive ul.products li.product .ocl-quick-buy-btn-loop,
    .tax-product_cat ul.products li.product .ocl-quick-buy-btn-loop,
    body.woocommerce ul.products li.product .ocl-quick-buy-btn-loop,
    .woocommerce .related.products li.product .button,
    .woocommerce .related.products li.product .ocl-quick-buy-btn-loop,
    .es-related-products-wrapper li.product .button,
    .es-related-products-wrapper li.product .ocl-quick-buy-btn-loop {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: calc(100% - 24px) !important;
        margin: 8px 12px 0 12px !important;
        padding: 10px 12px !important;
        background: var(--mp-primary) !important;
        color: #fff !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        border-radius: 8px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        height: 44px !important;
        line-height: 1 !important;
    }
    
    .woocommerce-page ul.products li.product .ocl-quick-buy-btn-loop,
    .archive ul.products li.product .ocl-quick-buy-btn-loop,
    .tax-product_cat ul.products li.product .ocl-quick-buy-btn-loop,
    body.woocommerce ul.products li.product .ocl-quick-buy-btn-loop,
    .woocommerce .related.products li.product .ocl-quick-buy-btn-loop,
    .es-related-products-wrapper li.product .ocl-quick-buy-btn-loop {
        background: transparent !important;
        color: var(--mp-primary) !important;
        border: 2px solid var(--mp-primary) !important;
    }
    
    /* Hide "(необязательно)" in WooCommerce forms */
    .woocommerce form .form-row .optional,
    .woocommerce-page form .form-row .optional,
    .woocommerce form .optional,
    span.optional,
    label .optional,
    .woocommerce-billing-fields .optional,
    .woocommerce-shipping-fields .optional {
        display: none !important;
    }
    
    /* Footer studio link */
    .es-footer-studio-link {
        color: rgba(255,255,255,0.7) !important;
        text-decoration: none !important;
        transition: color 0.3s ease !important;
    }
    
    .es-footer-studio-link:hover {
        color: #fff !important;
    }
    
    /* Cart piece goods notice - mobile */
    .es-cart-piece-notice {
        margin: 10px 12px 15px !important;
        padding: 15px !important;
        border-radius: 8px !important;
        border: 1px solid #e8e8e8 !important;
        text-align: center !important;
    }
    
    .es-cart-notice-text {
        font-size: 13px !important;
        margin-bottom: 12px !important;
        text-align: center !important;
    }
    
    .es-cart-piece-options {
        flex-direction: column !important;
        gap: 10px !important;
        align-items: center !important;
    }
    
    .es-cart-piece-options label {
        font-size: 13px !important;
        white-space: nowrap !important;
        width: 100% !important;
        justify-content: center !important;
    }
    
    .es-cart-piece-options input[type="checkbox"] {
        width: 16px !important;
        height: 16px !important;
    }
    
    /* ===== SINGLE PRODUCT PAGE - CUSTOM FORM MOBILE ===== */
    .es-single-product-form {
        margin: 15px 0 !important;
    }
    
    .es-price-wrapper {
        margin-bottom: 15px !important;
        width: 100% !important;
    }
    
    .es-price-label {
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        color: var(--es-text-color) !important;
        letter-spacing: 0.5px !important;
    }
    
    .es-current-price {
        font-size: 18px !important;
    }
    
    .es-quantity-wrapper {
        width: 100% !important;
        margin-bottom: 8px !important;
    }
    
    .es-quantity-label {
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        color: var(--es-text-color) !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 6px !important;
    }
    
    .es-quantity-control {
        border-radius: 8px !important;
        width: fit-content !important;
    }
    
    .es-qty-btn {
        padding: 12px 0 !important;
        font-size: 20px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex-shrink: 0 !important;
        box-sizing: border-box !important;
    }
    
    .es-quantity-control .qty {
        padding: 12px !important;
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        font-size: 16px !important;
        flex-shrink: 0 !important;
    }
    
    .es-current-price {
        font-size: 20px !important;
        width: 100% !important;
        text-align: left !important;
    }
    
    .es-current-price del {
        font-size: 16px !important;
    }
    
    .es-single-product-form form.cart {
        gap: 0 !important;
        margin-bottom: 8px !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    .es-single-product-form form.cart .single_add_to_cart_button {
        width: 100% !important;
    }
    
    .es-add-to-cart-btn,
    .ocl-quick-buy-btn-single {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 14px !important;
        border-radius: 8px !important;
        height: 48px !important;
        line-height: 1 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .ocl-quick-buy-btn-single {
        border-width: 2px !important;
    }
}

