/* ============================================================
   vc_mobile.css — мобильная версия VIP COLLECTION (≤ 768 px)
   По согласованным макетам (сентябрь 2026).
   Подключается в index.php ПОСЛЕДНИМ, после vc_typography.css,
   поэтому перебивает mobile.css / polish.css / card-fix.css.
   На десктопе (≥ 769 px) этот файл ничего не меняет, кроме того,
   что прячет новую мобильную шапку и меню.
   ============================================================ */

/* ---------- Новая мобильная шапка и меню: на десктопе скрыты ---------- */
.vc-mhead,
.vc-msearch,
.vc-crumbs,
.vc-filterbar,
.vc-sheet__head,
.vc-drawer { display: none; }


/* ---------- Заметка о способе оплаты: корзина и шаг «Адрес» (все устройства) ---------- */
#comjshop .cart_buttons::before,
#comjshop .address_block form[name="loginForm"]::before {
    content: "Оплата — онлайн на сайте: банковской картой или через СБП.";
    display: block;
    margin: 0 0 16px;
    padding: 12px 14px 12px 44px;
    border: 1px solid #e8dec8;
    border-radius: 8px;
    background: #fdfaf5 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a330e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E") no-repeat 14px center / 20px 20px;
    font-size: 14px;
    line-height: 1.45;
    color: #313131;
    text-align: left;
}
/* Пока шаг оплаты пропускается автоматически — не мигаем его содержимым */
html.vc-skip-pay #comjshop { visibility: hidden; }

@media (max-width: 768px) {

/* ============================================================
   0. ЦВЕТА (из дизайн-системы VIP COLLECTION)
   ============================================================ */
:root {
    --vc-dark:   #2c1810;
    --vc-brown:  #3d2817;
    --vc-wine:   #8b1a1a;
    --vc-wheat:  #f5deb3;
    --vc-cream:  #fdfaf5;
    --vc-bg:     #f4ede0;
    --vc-border: #e8dec8;
    --vc-border-strong: #d9c9a8;
    --vc-text:   #313131;
    --vc-muted:  #8b7355;
    --vc-green:  #2b7a1f;
}

/* ============================================================
   1. ОСНОВА СТРАНИЦЫ
   ============================================================ */
html body.site {
    background: var(--vc-bg) !important;
    color: var(--vc-text);
    padding: 0 !important;
}
html body.site .body {
    padding: 0 !important;
    background: transparent !important;
}
/* Единые боковые поля 16 px у всех секций */
html body.site .mmain > .container,
html body.site .akcia > .container,
html body.site .info > .container,
html body.site .topt > .container,
html body.site .ssl > .container,
html body.site .posl > .container,
html body.site .news > .container,
html body.site .manuf2 > .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* Старые элементы, которые заменены новой шапкой / меню */
html body.site header.header,
html body.site .navigation1,
html body.site .navigation001,
html body.site .menu-1,
html body.site .vc-burger,
html body.site #vc-burger-fixed,
html body.site .mobile-menu-toggle,
html body.site .vc-fab,
html body.site #aside,
html body.site .body > .container:empty {
    display: none !important;
}

/* ============================================================
   2. ШАПКА (одна строка, 60 px, прилипает к верху)
   ============================================================ */
.vc-mhead {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 1000;
    height: 60px;
    box-sizing: border-box;
    padding: 0 6px 0 4px;
    align-items: center;
    gap: 2px;
    background: var(--vc-cream);
    border-bottom: 1px solid var(--vc-border);
}
.vc-mhead__btn {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--vc-dark);
    text-decoration: none;
    cursor: pointer;
    position: relative;
    -webkit-tap-highlight-color: transparent;
}
.vc-mhead__btn:hover,
.vc-mhead__btn:focus { color: var(--vc-dark); background: transparent; text-decoration: none; }
.vc-mhead__btn:focus-visible { outline: 2px solid var(--vc-brown); outline-offset: 2px; }
.vc-mhead__btn svg { width: 24px; height: 24px; display: block; }
.vc-mhead__cart { color: var(--vc-brown); }
.vc-mhead__count {
    position: absolute;
    top: 4px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    box-sizing: border-box;
    border-radius: 9px;
    background: var(--vc-wine);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}
.vc-mhead__logo {
    display: flex;
    align-items: center;
    height: 44px;
    margin-left: 2px;
}
.vc-mhead__logo img {
    height: 36px !important;
    width: auto !important;
    max-width: none !important;
    display: block;
}
.vc-mhead__spacer { flex: 1 1 auto; }

/* Строка поиска — раскрывается кнопкой-лупой под шапкой */
.vc-msearch {
    position: sticky;
    top: 60px;
    z-index: 999;
    box-sizing: border-box;
    padding: 10px 16px;
    background: var(--vc-cream);
    border-bottom: 1px solid var(--vc-border);
    gap: 8px;
    margin: 0;
}
.vc-msearch.is-open { display: flex; }
.vc-msearch input[type="search"],
.vc-msearch input[type="text"] {
    flex: 1 1 auto;
    min-width: 0;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    box-sizing: border-box;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 16px !important;              /* 16 px — iPhone не зумит страницу */
    color: var(--vc-text);
    box-shadow: none !important;
}
.vc-msearch input:focus { border-color: var(--vc-brown) !important; outline: 0; }
.vc-msearch button {
    flex: 0 0 auto;
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 6px;
    background: var(--vc-brown);
    color: var(--vc-wheat);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

/* ============================================================
   3. МЕНЮ-БУРГЕР (страницы для покупателей + контакты)
   ============================================================ */
.vc-drawer {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: var(--vc-cream);
    color: var(--vc-dark);
}
.vc-drawer.is-open { display: block; }
body.vc-drawer-open { overflow: hidden !important; }
.vc-drawer__top {
    height: 60px;
    box-sizing: border-box;
    padding: 0 6px 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--vc-border);
}
.vc-drawer__top img { height: 36px !important; width: auto !important; display: block; }
.vc-drawer__nav { list-style: none; margin: 0; padding: 8px 0 0; }
.vc-drawer__nav li { margin: 0 16px; padding: 0; border-bottom: 1px solid var(--vc-border); list-style: none; }
.vc-drawer__nav a {
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--vc-dark) !important;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none !important;
}
.vc-drawer__nav a::after {
    content: "";
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7355' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.vc-drawer__nav li.is-current a { color: var(--vc-brown) !important; }
.vc-drawer__nav a.red { color: var(--vc-wine) !important; }
.vc-drawer__contacts {
    margin: 24px 16px 32px;
    padding: 20px 16px;
    border-radius: 8px;
    background: var(--vc-bg);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.vc-drawer__phone { font-size: 20px; font-weight: 600; color: var(--vc-dark) !important; text-decoration: none !important; }
.vc-drawer__mail { font-size: 15px; color: var(--vc-brown) !important; }
.vc-drawer__msg { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.vc-drawer__msg a {
    height: 44px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    border-radius: 6px;
    background: var(--vc-border);
    color: var(--vc-brown) !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

/* ============================================================
   4. ГЛАВНАЯ
   ============================================================ */

/* Левая колонка каталога: на главной — плитки, на остальных страницах скрыта
   (в разделы попадают с главной, по логотипу, из футера) */
html body.site .mmain .lft,
html body.site .mmain .lft.pull-left {
    display: none !important;
}
html body.site.itemid-165 .mmain .lft,
html body.site.itemid-165 .mmain .lft.pull-left {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    order: 2;
}
html body.site.itemid-165 .mmain .lft::before {
    content: "Каталог";
    grid-column: 1 / -1;
    display: block;
    margin: 8px 0 6px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--vc-brown);
}
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0,
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0_a { margin: 0 !important; padding: 0 !important; }
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0 > a,
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0_a > a {
    min-height: 64px;
    height: 100%;
    box-sizing: border-box;
    padding: 10px 30px 10px 12px !important;
    display: flex !important;
    align-items: center;
    position: relative;
    border: 1px solid var(--vc-border) !important;
    border-radius: 8px;
    background: var(--vc-cream) !important;
    color: var(--vc-dark) !important;
    font-size: 14.5px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: normal;
}
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0 > a::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f1410' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* «Акции» и «Распродажа» — бордовые плитки */
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0 > a[href*="tovary-po-aktsii"],
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0 > a[href*="rasprodazha"] {
    background: var(--vc-wine) !important;
    border-color: var(--vc-wine) !important;
    color: #fff !important;
    text-transform: none;
}
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0 > a[href*="tovary-po-aktsii"]::after,
html body.site.itemid-165 .mmain .lft .jshop_menu_level_0 > a[href*="rasprodazha"]::after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
}
/* На главной: сначала баннер (статья), потом плитки каталога */
html body.site.itemid-165 .mmain > .container {
    display: flex !important;
    flex-direction: column;
}
html body.site.itemid-165 .mmain .sl { order: 1; }

/* Баннер-статья главной: карточка, текст по левому краю, картинка сверху */
html body.site.itemid-165 .blog-featured { margin: 16px 0 24px !important; }
html body.site.itemid-165 .blog-featured .item-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 16px 16px;
    overflow: hidden;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
}
html body.site.itemid-165 .blog-featured .item-content p {
    margin: 0 !important;
    text-align: left !important;
}
html body.site.itemid-165 .blog-featured .item-content p:has(img) {
    order: -1;
    margin: 0 -16px 8px !important;
}
html body.site.itemid-165 .blog-featured .item-content img {
    width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    display: block;
}
html body.site.itemid-165 .blog-featured .item-content p:empty,
html body.site.itemid-165 .blog-featured .item-content p:has(> br:only-child) { display: none !important; }
/* Заголовок (24pt) и цена (24pt #800000) */
html body.site.itemid-165 .blog-featured p span[style*="font-size: 24pt"] {
    display: block !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-align: left !important;
    color: var(--vc-dark) !important;
}
html body.site.itemid-165 .blog-featured p span[style*="font-size: 24pt"][style*="#800000"] {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--vc-wine) !important;
}
html body.site.itemid-165 .blog-featured p span[style*="font-size: 12pt"],
html body.site.itemid-165 .blog-featured p span[style*="font-size: 12pt"] span {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    text-align: left !important;
    color: var(--vc-text) !important;
}
html body.site.itemid-165 .blog-featured p span[style*="font-size: 18pt"] {
    display: block !important;
    margin-top: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--vc-border);
    font-size: 19px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    text-align: left !important;
    color: var(--vc-dark) !important;
}
html body.site.itemid-165 .blog-featured p a[href*="zhenskie-sumki"] {
    color: var(--vc-brown) !important;
    font-size: 15px !important;
    word-break: break-word;
}

/* Подборки «Новинки», «Популярные товары» — горизонтальная лента карточек */
html body.site .vc-gallery-wrap { margin: 0 0 32px !important; padding: 0 !important; }
html body.site .vc-gallery-wrap .vc-gallery-title,
html body.site .akcia h3,
html body.site .topt h3,
html body.site .posl h3 {
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    color: var(--vc-brown) !important;
    background: none !important;
}
html body.site .vc-gallery-wrap .vc-gallery-title::before,
html body.site .vc-gallery-wrap .vc-gallery-title::after { display: none !important; }
html body.site .vc-carousel-arrow { display: none !important; }
html body.site .latest_products.jshop_list_product {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin: 0 !important;
    padding: 0 0 4px !important;
    scrollbar-width: none;
}
html body.site .latest_products.jshop_list_product::-webkit-scrollbar { display: none; }
html body.site .latest_products .block_product {
    flex: 0 0 calc((100% - 12px) / 2.15) !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--vc-border) !important;
    border-radius: 8px !important;
    background: var(--vc-cream) !important;
    box-shadow: none !important;
    text-align: left !important;
}
html body.site .latest_products .block_product .image,
html body.site .latest_products .block_product .image_block {
    margin: 0 !important;
    padding: 0 !important;
    height: 160px !important;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
html body.site .latest_products .block_product .image_block a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
html body.site .latest_products .block_product img.jshop_img {
    max-width: 100% !important;
    max-height: 160px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    border-radius: 0 !important;
}
html body.site .latest_products .block_product .name {
    margin: 10px 10px 6px !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 57px;
    overflow: hidden;
    text-align: left !important;
}
html body.site .latest_products .block_product .name a {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: var(--vc-dark) !important;
    text-decoration: none !important;
}

/* Инфо-блок «Бренды / Оплата / Ассортимент» — по левому краю */
html body.site .information {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    margin: 0 0 32px !important;
    padding: 24px 16px !important;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
}
html body.site .information .item {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    padding: 14px 0 0 !important;
    border-top: 2px solid var(--vc-wheat);
    text-align: left !important;
}
html body.site .information .item:hover .pictures { transform: none !important; }
html body.site .information .item .pictures {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    transform: none !important;
}
html body.site .information .item .pictures img { display: none !important; }
html body.site .information .item .item-title {
    display: block;
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--vc-dark) !important;
    text-align: left !important;
}
html body.site .information .item .texxt,
html body.site .information .item p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    color: var(--vc-text) !important;
    text-align: left !important;
}

/* SEO-текст внизу главной (.manuf2) — обычный текст, по левому краю */
html body.site .manuf2 .custom p {
    margin: 0 0 12px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: left !important;
    color: var(--vc-text) !important;
}
html body.site .manuf2 .custom p.gray { font-size: 12px !important; color: var(--vc-muted) !important; }

/* ============================================================
   5. ЦЕНЫ (общие правила для карточек и подборок)
   Подпись «Цена:» / «Старая цена:» прячем, остаётся сумма.
   ============================================================ */
html body.site .jshop_list_product .jshop_price,
html body.site .latest_products .jshop_price {
    font-size: 0 !important;
    line-height: 1 !important;
    min-height: 0 !important;
    margin: 0 10px 2px !important;
    text-align: left !important;
}
html body.site .jshop_list_product .jshop_price span,
html body.site .latest_products .jshop_price span {
    font-size: 17px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: var(--vc-wine) !important;
}
html body.site .jshop_list_product .old_price,
html body.site .latest_products .old_price {
    font-size: 0 !important;
    line-height: 1 !important;
    margin: 0 10px 2px !important;
    text-align: left !important;
}
html body.site .jshop_list_product .old_price span,
html body.site .latest_products .old_price span {
    font-size: 13px !important;
    line-height: 1.3 !important;
    color: var(--vc-muted) !important;
    text-decoration: line-through !important;
}
html body.site .latest_products .block_product .jshop_price { margin-bottom: 12px !important; }

/* ============================================================
   6. КАТАЛОГ (раздел)
   ============================================================ */
html body.site #comjshop > h1,
html body.site .jshop > h1 {
    margin: 16px 0 14px !important;
    padding: 0 0 10px !important;
    border-bottom: 3px solid var(--vc-wheat) !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-align: left !important;
    text-transform: none !important;
    color: var(--vc-brown) !important;
}
html body.site .jshop_list_category:empty,
html body.site .jshop_list_category:not(:has(*)) { display: none !important; }

/* Кнопка «Фильтр и сортировка» (создаётся скриптом шаблона) */
html body.site .jshop_list_product .mobile-filter-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 44px;
    margin: 0 0 14px !important;
    padding: 0 14px !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 6px !important;
    background: var(--vc-cream) !important;
    color: var(--vc-dark) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
html body.site .jshop_list_product .mobile-filter-toggle span { color: var(--vc-dark) !important; }
html body.site .jshop_list_product .filter_mob_head { display: none !important; }
/* Раскрытая панель фильтров */
html body.site .jshop_list_product.filters-open form#sort_count {
    display: block !important;
    margin: 0 0 16px !important;
    padding: 16px !important;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
}
html body.site .jshop_list_product.filters-open .form_sort_count,
html body.site .jshop_list_product.filters-open .jshop.filters,
html body.site .jshop_list_product .form_sort_count.show-mobile .block_sorting_count_to_page {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
html body.site .jshop_list_product.filters-open .control-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
}
html body.site .jshop_list_product.filters-open .control-label {
    font-size: 13px !important;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--vc-muted) !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}
html body.site .jshop_list_product.filters-open .controls { display: flex !important; gap: 8px; align-items: center; width: 100%; margin: 0 !important; }
html body.site .jshop_list_product.filters-open select,
html body.site .jshop_list_product.filters-open input[type="text"] {
    flex: 1 1 auto;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding: 0 12px !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 16px !important;
    color: var(--vc-text) !important;
    box-sizing: border-box;
}
html body.site .jshop_list_product.filters-open .input-group,
html body.site .jshop_list_product.filters-open .input-append { display: flex; flex: 1 1 auto; width: 100%; }
html body.site .jshop_list_product.filters-open .box_products_count_to_page { display: none !important; }
html body.site .jshop_list_product.filters-open .box_price_from_to .controls .input-append { flex: 1 1 0; min-width: 0; }
html body.site .jshop_list_product.filters-open .price_ftspace { margin: 0 !important; color: var(--vc-muted); }
html body.site .jshop_list_product.filters-open .box_button .controls { gap: 10px; }
html body.site .jshop_list_product.filters-open #submit_product_list_filter {
    flex: 1 1 50%;
    height: 48px;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--vc-brown) !important;
    background-image: none !important;
    color: var(--vc-wheat) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    text-shadow: none !important;
}
html body.site .jshop_list_product.filters-open .clear_filter { flex: 1 1 50%; display: flex !important; }
html body.site .jshop_list_product.filters-open #clear_product_list_filter {
    flex: 1 1 auto;
    height: 48px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--vc-border) !important;
    color: var(--vc-brown) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
}

/* Сетка товаров: 2 колонки, без пустой первой ячейки.
   Пустое место давал bootstrap-псевдоэлемент .row-fluid::before —
   в сетке он становился первой «карточкой». Убираем его. */
html body.site #comjshop_list_product > hr { display: none !important; }
html body.site .jshop_list_product #comjshop_list_product .row-fluid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    flex-direction: initial !important;
    margin: 0 0 12px !important;
    width: 100% !important;
}
html body.site .jshop_list_product #comjshop_list_product .row-fluid::before,
html body.site .jshop_list_product #comjshop_list_product .row-fluid::after {
    content: none !important;
    display: none !important;
}
html body.site .jshop_list_product #comjshop_list_product .row-fluid > [class*="sblock"] {
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body.site .jshop_list_product #comjshop_list_product .block_product {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Карточка */
html body.site .jshop_list_product #comjshop_list_product .block_product > .product {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100%;
    margin: 0 !important;
    padding: 0 0 12px !important;
    overflow: hidden;
    border: 1px solid var(--vc-border) !important;
    border-radius: 8px !important;
    background: var(--vc-cream) !important;
    box-shadow: none !important;
    text-align: left !important;
}
/* Фото сверху (в разметке оно после названия) */
html body.site .jshop_list_product #comjshop_list_product .product > .image {
    order: -1;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    background: #fff;
}
html body.site .jshop_list_product #comjshop_list_product .product .image_block {
    width: 100% !important;
    height: 170px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden !important;
    background: #fff;
}
html body.site .jshop_list_product #comjshop_list_product .product .image_block a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
html body.site .jshop_list_product #comjshop_list_product .product .image_block .jshop_img {
    max-width: 100% !important;
    max-height: 170px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}
html body.site .jshop_list_product #comjshop_list_product .product .product_label {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 2;
}
/* Название — 3 строки, одинаковая высота у всех карточек */
html body.site .jshop_list_product #comjshop_list_product .product > .name {
    margin: 10px 10px 8px !important;
    padding: 0 !important;
    height: 57px !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-align: left !important;
}
html body.site .jshop_list_product #comjshop_list_product .product > .name a {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: var(--vc-dark) !important;
    text-decoration: none !important;
    white-space: normal !important;
}
/* Лишнее в карточке списка: отзывы, звёзды, вес, склад, описание, «Подробнее» */
html body.site .jshop_list_product #comjshop_list_product .product .review_mark,
html body.site .jshop_list_product #comjshop_list_product .product .count_commentar,
html body.site .jshop_list_product #comjshop_list_product .product .block_available,
html body.site .jshop_list_product #comjshop_list_product .product .price_extra_info,
html body.site .jshop_list_product #comjshop_list_product .product .manufacturer_name,
html body.site .jshop_list_product #comjshop_list_product .product .productweight,
html body.site .jshop_list_product #comjshop_list_product .product .extra_fields,
html body.site .jshop_list_product #comjshop_list_product .product .qty_in_stock,
html body.site .jshop_list_product #comjshop_list_product .product .description,
html body.site .jshop_list_product #comjshop_list_product .product .button_detail {
    display: none !important;
}
html body.site .jshop_list_product #comjshop_list_product .product .oiproduct {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 0 !important;
    margin: 0 !important;
}
/* Цены: новая крупно бордовая, старая — зачёркнутая, в одну строку */
html body.site .jshop_list_product #comjshop_list_product .product .oiproduct { flex-wrap: nowrap; }
html body.site .jshop_list_product #comjshop_list_product .product .jshop_price { order: 1; }
html body.site .jshop_list_product #comjshop_list_product .product .old_price { order: 2; }
html body.site .jshop_list_product #comjshop_list_product .product .buttons { order: 3; }
/* Кнопка «Купить» — одна, коричневая, во всю ширину, прижата к низу */
html body.site .jshop_list_product #comjshop_list_product .product .buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin: auto 10px 0 !important;
    padding: 10px 0 0 !important;
}
html body.site .jshop_list_product #comjshop_list_product .product .buttons > a.btn.button_buy,
html body.site .jshop_list_product #comjshop_list_product .product .buttons > a.btn.btn-success.button_buy {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--vc-brown) !important;
    background-image: none !important;
    color: var(--vc-wheat) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
}
html body.site .jshop_list_product #comjshop_list_product .product .buttons > a.btn.button_buy:hover,
html body.site .jshop_list_product #comjshop_list_product .product .buttons > a.btn.button_buy:focus,
html body.site .jshop_list_product #comjshop_list_product .product .buttons > a.btn.button_buy:active,
html body.site .jshop_list_product #comjshop_list_product .product .buttons > a.btn.button_buy:visited {
    background: var(--vc-wine) !important;
    color: #fff !important;
}
html body.site .jshop_list_product #comjshop_list_product .product .buttons > a.btn.button_buy:visited {
    background: var(--vc-brown) !important;
    color: var(--vc-wheat) !important;
}
/* Плашка «Нет в наличии» — того же размера, что кнопка */
html body.site .jshop_list_product #comjshop_list_product .product .buttons > .not_available_list {
    height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 6px !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Постраничная навигация */
html body.site .jshop_list_product .pagination,
html body.site .jshop_list_product .jshop_pagination { margin: 16px 0 32px !important; text-align: left !important; }
html body.site .pagination ul,
html body.site ul.pagination {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    box-shadow: none !important;
}
html body.site .pagination li { display: block !important; margin: 0 !important; }
html body.site .pagination li a,
html body.site .pagination li span {
    min-width: 44px;
    height: 44px;
    box-sizing: border-box;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    float: none !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 6px !important;
    background: var(--vc-cream) !important;
    color: var(--vc-dark) !important;
    font-size: 15px;
    text-decoration: none !important;
}
html body.site .pagination li.active a,
html body.site .pagination li.active span,
html body.site .pagination li a[aria-current] {
    background: var(--vc-brown) !important;
    border-color: var(--vc-brown) !important;
    color: var(--vc-wheat) !important;
}

/* Хлебные крошки (если опубликован модуль Breadcrumbs) */
html body.site .mod-breadcrumbs,
html body.site ul.breadcrumb,
html body.site ol.breadcrumb {
    display: flex !important;
    flex-wrap: wrap;
    gap: 4px 6px;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    list-style: none;
    background: none !important;
    font-size: 13px !important;
    color: var(--vc-muted) !important;
}
html body.site .mod-breadcrumbs li,
html body.site .breadcrumb li { display: inline-flex !important; align-items: center; gap: 6px; padding: 0 !important; text-shadow: none !important; }
html body.site .mod-breadcrumbs a,
html body.site .breadcrumb a { color: var(--vc-brown) !important; text-decoration: none !important; }
html body.site .mod-breadcrumbs .divider,
html body.site .breadcrumb .divider { color: var(--vc-muted) !important; padding: 0 !important; }

/* ============================================================
   7. КАРТОЧКА ТОВАРА
   ============================================================ */
html body.site .productfull h1,
html body.site .jshop.productfull h1,
html body.site form.productfull > h1 {
    margin: 16px 0 12px !important;
    padding: 0 !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    text-align: left !important;
    color: var(--vc-brown) !important;
}
html body.site .productfull .jshop_button_print,
html body.site .productfull .block_rating_hits,
html body.site .productfull .text_zoom,
html body.site .productfull .manufacturer_logo { display: none !important; }

html body.site .productfull .row.jshop {
    display: block !important;
    margin: 0 !important;
}
html body.site .productfull .row.jshop > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Галерея: белая рамка на всю ширину контента, листается пальцем */
html body.site .productfull .image_middle {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: #fff;
    margin: 0 0 10px !important;
}
html body.site .productfull #list_product_image_middle {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    scrollbar-width: none;
}
html body.site .productfull #list_product_image_middle::-webkit-scrollbar { display: none; }
html body.site .productfull #list_product_image_middle > a.lightbox {
    display: flex !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    scroll-snap-align: start;
    background: #fff;
}
html body.site .productfull #list_product_image_middle > a.lightbox img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}
/* Миниатюры — лента под фото */
html body.site .productfull .image_thumb_list { margin: 0 0 16px !important; }
html body.site .productfull #list_product_image_thumb {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    scrollbar-width: none;
}
html body.site .productfull #list_product_image_thumb::-webkit-scrollbar { display: none; }
html body.site .productfull #list_product_image_thumb > .sblock0 { flex: 0 0 56px; width: 56px !important; padding: 0 !important; margin: 0 !important; }
html body.site .productfull #list_product_image_thumb img {
    width: 56px !important;
    height: 56px !important;
    object-fit: cover;
    border: 1px solid var(--vc-border) !important;
    border-radius: 6px !important;
    background: #fff;
}

/* Блок цены и покупки — карточка */
html body.site .productfull .jshop_oiproduct,
html body.site .productfull .row.jshop > .jshop_oiproduct {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 24px !important;
    padding: 16px !important;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
    text-align: left !important;
}
html body.site .productfull .jshop_oiproduct > * { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
html body.site .productfull .manufacturer_name {
    order: 5;
    margin: 0 !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--vc-muted) !important;
}
html body.site .productfull .manufacturer_name span { font-size: 13px !important; color: var(--vc-text) !important; font-weight: 600 !important; margin-left: 2px !important; }
html body.site .productfull .prod_price {
    order: 1;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}
html body.site .productfull .prod_price #block_price {
    display: inline !important;
    margin: 0 !important;
    font-size: 28px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: var(--vc-wine) !important;
}
html body.site .productfull .old_price:not(span) {
    order: 2;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}
html body.site .productfull .old_price #old_price {
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    color: var(--vc-muted) !important;
    text-decoration: line-through !important;
}
html body.site .productfull .plusshippinginfo { order: 3; display: block !important; font-size: 13px !important; color: var(--vc-text) !important; margin: 0 !important; }
html body.site .productfull .plusshippinginfo a { color: var(--vc-brown) !important; font-weight: 400 !important; }
html body.site .productfull .deliverytime,
html body.site .productfull .productweight {
    order: 6;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    color: var(--vc-text) !important;
}
html body.site .productfull .productweight #block_weight { color: var(--vc-text) !important; font-weight: 400 !important; }
html body.site .productfull .block_available {
    order: 4;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--vc-green) !important;
    background: none !important;
    padding: 0 !important;
}
html body.site .productfull .qty_in_stock { display: none !important; }
html body.site .productfull .extra_fields:empty { display: none !important; }
/* Количество + кнопки */
html body.site .productfull .prod_buttons {
    order: 10;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 10px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px dashed var(--vc-border);
}
html body.site .productfull .prod_qty { margin: 0 !important; font-size: 14px !important; color: var(--vc-text) !important; }
html body.site .productfull .prod_qty_input { margin: 0 !important; }
html body.site .productfull .prod_qty_input input[name="quantity"] {
    width: 72px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 16px !important;
    text-align: center;
}
html body.site .productfull .prod_buttons .buttons {
    flex: 1 1 100%;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body.site .productfull .prod_buttons .buttons input.btn-buy,
html body.site .productfull .prod_buttons .buttons input.btn-success {
    width: 100% !important;
    max-width: none !important;
    height: 52px;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--vc-brown) !important;
    background-image: none !important;
    color: var(--vc-wheat) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
html body.site .productfull .prod_buttons .buttons input.btn-buy:hover,
html body.site .productfull .prod_buttons .buttons input.btn-buy:focus { background: var(--vc-wine) !important; color: #fff !important; }
html body.site .productfull .prod_buttons .buttons input.btn-wishlist {
    width: 100% !important;
    max-width: none !important;
    height: 48px;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--vc-border) !important;
    background-image: none !important;
    color: var(--vc-brown) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
/* Плашка «Нет в наличии» на карточке товара */
html body.site .productfull .not_available:not(:empty),
html body.site .productfull #not_available.not_available:not(:empty) {
    order: 4;
    border-left-width: 1px !important;
    text-align: left !important;
}

/* Описание товара — ровный текст, без inline-шрифтов и цветов */
html body.site .jshop_prod_description {
    margin: 0 0 32px !important;
    padding: 20px 16px !important;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
}
html body.site .jshop_prod_description,
html body.site .jshop_prod_description p,
html body.site .jshop_prod_description li,
html body.site .jshop_prod_description span,
html body.site .jshop_prod_description div {
    font-family: inherit !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    color: var(--vc-text) !important;
    background-color: transparent !important;
    text-align: left !important;
}
html body.site .jshop_prod_description p { margin: 0 0 12px !important; }
html body.site .jshop_prod_description p:empty { display: none !important; }
html body.site .jshop_prod_description a {
    font-family: inherit !important;
    font-size: inherit !important;
    color: var(--vc-brown) !important;
    text-decoration: underline !important;
}
html body.site .jshop_prod_description span[style*="#ff0000"],
html body.site .jshop_prod_description span[style*="#FF0000"] { color: var(--vc-wine) !important; font-weight: 600; }

/* ============================================================
   8. ТЕКСТОВЫЕ СТРАНИЦЫ (Доставка, Ремонт, О компании, Контакты…)
   Всё по левому краю, одна полоса под заголовком, текст на карточке.
   ============================================================ */
html body.site .item-page {
    max-width: 100% !important;
    margin: 16px 0 32px !important;
    padding: 20px 16px 24px !important;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
    text-align: left !important;
}
html body.site .item-page p,
html body.site .item-page li,
html body.site .item-page td,
html body.site .item-page dd,
html body.site .item-page div:not([class*="vc-"]),
html body.site .item-page section,
html body.site .item-page span,
html body.site .item-page p[style*="text-align"],
html body.site .item-page div[style*="text-align"],
html body.site .item-page h1[style*="text-align"],
html body.site .item-page h2[style*="text-align"],
html body.site .item-page h3[style*="text-align"],
html body.site .item-page h4[style*="text-align"],
html body.site.com_content.view-article .item-page p,
html body.site.com_content.view-article .item-page div {
    text-align: left !important;
}
html body.site .item-page p,
html body.site .item-page li,
html body.site .item-page td {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
}
html body.site .item-page > .page-header {
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
}
html body.site .item-page h1,
html body.site .item-page .page-header h1,
html body.site .item-page .page-header h2 {
    margin: 0 0 16px !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    border-bottom: 3px solid var(--vc-wheat) !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    color: var(--vc-brown) !important;
}
html body.site .item-page .page-header h1 { margin-bottom: 0 !important; }
html body.site .item-page hr {
    margin: 20px 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--vc-border) !important;
    background: none !important;
    height: 0 !important;
}
html body.site .item-page h2 {
    margin: 24px 0 10px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    color: var(--vc-brown) !important;
    border: 0 !important;
}
html body.site .item-page h3 {
    margin: 20px 0 10px !important;
    padding-bottom: 6px !important;
    font-size: 17px !important;
    color: var(--vc-dark) !important;
    border-bottom: 2px solid var(--vc-wheat) !important;
}
html body.site .item-page h4 { margin: 16px 0 8px !important; font-size: 17px !important; color: var(--vc-brown) !important; }
html body.site .item-page ul,
html body.site .item-page ol { margin: 8px 0 16px !important; padding-left: 22px !important; }
html body.site .item-page li { margin: 0 0 8px !important; }
html body.site .item-page img { height: auto !important; border-radius: 8px; }
/* Таблицы в статьях: прокрутка вместо вылезания за экран */
html body.site .item-page table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
/* Ссылки-кнопки внутри статей — во всю ширину, высота 48 px */
html body.site .item-page a[style*="background"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    box-sizing: border-box;
    padding: 10px 16px !important;
    margin: 8px 0 !important;
    border-radius: 6px !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* ============================================================
   9. ФУТЕР
   ============================================================ */
html body.site footer.footer {
    margin: 0 !important;
    padding: 32px 0 28px !important;
    background: var(--vc-dark) !important;
    color: var(--vc-wheat) !important;
}
html body.site footer.footer > .container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 16px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}
html body.site footer.footer > .container::before,
html body.site footer.footer > .container::after { content: none !important; display: none !important; }
/* Контакты — первым блоком, на всю ширину */
html body.site footer.footer > .container > .custom:not(.st):first-of-type,
html body.site footer.footer #mod-custom172 {
    order: -1;
    grid-column: 1 / -1;
    margin: 0 !important;
    padding: 0 0 24px !important;
    border-bottom: 1px solid rgba(245, 222, 179, 0.25);
}
html body.site footer.footer #mod-custom172 p {
    margin: 0 0 8px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--vc-wheat) !important;
    opacity: 0.9;
}
html body.site footer.footer #mod-custom172 p strong { color: var(--vc-wheat) !important; font-weight: 400 !important; }
html body.site footer.footer #mod-custom172 p a[href^="tel:"] {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: var(--vc-wheat) !important;
}
html body.site footer.footer #mod-custom172 p:has(a[href^="tel:"]) { order: -1; opacity: 1; }
html body.site footer.footer #mod-custom172 { display: flex !important; flex-direction: column; }
html body.site footer.footer #mod-custom172 > div {
    display: flex !important;
    gap: 8px !important;
    margin-top: 8px !important;
    flex-wrap: wrap;
}
html body.site footer.footer #mod-custom172 > div > a {
    width: 44px;
    height: 44px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(245, 222, 179, 0.5);
    border-radius: 6px;
}
html body.site footer.footer #mod-custom172 > div > a svg { width: 22px; height: 22px; }
/* Два списка ссылок: «Каталог» и «Покупателям» */
html body.site footer.footer ul.mod-menu {
    display: flex !important;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
}
html body.site footer.footer ul.mod-menu::before {
    display: block;
    margin: 0 0 8px;
    font-size: 13px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--vc-wheat);
    opacity: 0.75;
}
html body.site footer.footer > .container > ul.mod-menu:nth-of-type(1)::before { content: "Каталог"; }
html body.site footer.footer > .container > ul.mod-menu:nth-of-type(2)::before { content: "Покупателям"; }
html body.site footer.footer > .container > ul.mod-menu:nth-of-type(3) {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 16px;
}
html body.site footer.footer ul.mod-menu > li { padding: 0 !important; margin: 0 !important; }
html body.site footer.footer ul.mod-menu > li:has(> a[href=""]) { display: none !important; }
html body.site footer.footer ul.mod-menu > li > a {
    min-height: 34px;
    display: flex !important;
    align-items: center;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    color: var(--vc-wheat) !important;
    text-decoration: none !important;
    background: none !important;
}
html body.site footer.footer ul.mod-menu > li > a.red,
html body.site footer.footer ul.mod-menu li.item-325 > a { color: var(--vc-wheat) !important; font-weight: 600 !important; }
html body.site footer.footer ul.mod-menu li.item-325 .image-title { text-transform: none; }
/* Нижняя полоса: юр. ссылки и реквизиты */
html body.site footer.footer > .container > .st {
    grid-column: 1 / -1;
    margin: 0 !important;
    padding: 20px 0 0 !important;
    border-top: 1px solid rgba(245, 222, 179, 0.25) !important;
}
html body.site footer.footer .footer-copyright p {
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--vc-wheat) !important;
    opacity: 0.8;
}
html body.site footer.footer .footer-legal-links {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
    opacity: 1 !important;
    margin-bottom: 14px !important;
}
html body.site footer.footer .footer-legal-links a {
    margin: 0 !important;
    color: var(--vc-wheat) !important;
    text-decoration: underline !important;
    font-size: 13px !important;
}


/* ============================================================
   10. МЕЛОЧИ: «Назад», отзывы, копирайт JoomShopping, отступы секций
   ============================================================ */
html body.site .akcia { padding-top: 8px !important; }
html body.site .jshop .button_back { margin: 0 0 20px !important; }
html body.site .jshop .button_back input.btn {
    width: 100%;
    height: 48px;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--vc-border) !important;
    background-image: none !important;
    color: var(--vc-brown) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
html body.site .jshop .review_header {
    margin: 0 0 6px !important;
    font-size: 19px !important;
    font-weight: 600 !important;
    color: var(--vc-dark) !important;
    text-align: left !important;
}
html body.site .jshop .review_text_not_login {
    margin: 0 0 24px !important;
    font-size: 14px !important;
    color: var(--vc-text) !important;
}
html body.site #mxcpr {
    display: block;
    margin: 0 0 24px;
    font-size: 11px !important;
    line-height: 1.4;
    color: var(--vc-muted) !important;
}
html body.site #mxcpr a { color: var(--vc-muted) !important; }


/* ============================================================
   11. ХЛЕБНЫЕ КРОШКИ под шапкой: Главная / Каталог / Чемоданы
   ============================================================ */
.vc-crumbs,
.vc-crumbs li,
.vc-crumbs a,
.vc-crumbs span { text-transform: none !important; letter-spacing: 0 !important; font-size: 13px !important; font-weight: 400 !important; }
.vc-crumbs {
    display: block;
    padding: 12px 16px 0;
    font-size: 13px;
    line-height: 1.4;
    color: var(--vc-muted);
}
.vc-crumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 0;
    margin: 0;
    padding: 0;
    list-style: none;
}
.vc-crumbs li { display: inline-flex; align-items: center; min-width: 0; margin: 0; padding: 0; list-style: none; }
.vc-crumbs li + li::before { content: "/"; margin: 0 6px; color: var(--vc-muted); }
.vc-crumbs a { color: var(--vc-brown) !important; text-decoration: none !important; }
.vc-crumbs li.is-last { max-width: 100%; min-width: 0; }
.vc-crumbs li.is-last span {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 62vw;
    color: var(--vc-muted);
}
/* Заголовок страницы сразу под крошками — без лишнего отступа */
html body.site .vc-crumbs ~ .body #comjshop > h1,
html body.site .vc-crumbs ~ .body .productfull h1 { margin-top: 10px !important; }
html body.site .vc-crumbs ~ .body .item-page { margin-top: 12px !important; }

/* ============================================================
   12. КАТАЛОГ В БУРГЕРЕ (раскрывается по нажатию)
   ============================================================ */
.vc-drawer__cat { margin: 8px 16px 0; border-bottom: 1px solid var(--vc-border); }
.vc-drawer__cat-btn {
    width: 100%;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--vc-dark);
    font-size: 17px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}
.vc-drawer__cat-btn::after {
    content: "";
    width: 18px;
    height: 18px;
    transition: transform .2s ease;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b7355' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.vc-drawer__cat-btn[aria-expanded="true"]::after { transform: rotate(180deg); }
.vc-drawer__cat-list { list-style: none; margin: 0 0 10px; padding: 0 0 0 12px; border-left: 2px solid var(--vc-wheat); }
.vc-drawer__cat-list[hidden] { display: none; }
.vc-drawer__cat-list li { margin: 0; padding: 0; list-style: none; }
.vc-drawer__cat-list a {
    min-height: 44px;
    display: flex;
    align-items: center;
    color: var(--vc-dark) !important;
    font-size: 16px;
    text-decoration: none !important;
}
.vc-drawer__cat-list a.is-hot { color: var(--vc-wine) !important; font-weight: 600; }
.vc-drawer__cat-list a[aria-current] { color: var(--vc-brown) !important; font-weight: 600; }
.vc-drawer__nav { padding-top: 0 !important; }

/* ============================================================
   13. ФИЛЬТРЫ И СОРТИРОВКА: две кнопки + шторка снизу
   ============================================================ */
html body.site .jshop_list_product .mobile-filter-toggle { display: none !important; }
.vc-filterbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 16px;
}
.vc-filterbar__btn {
    height: 44px;
    min-width: 0;
    padding: 0 12px 0 38px;
    border: 1px solid var(--vc-border-strong);
    border-radius: 6px;
    background: var(--vc-cream) no-repeat 12px center / 18px 18px;
    color: var(--vc-dark);
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f1410' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16l-6 7v6l-4 2v-8z'/%3E%3C/svg%3E");
}
.vc-filterbar__btn--sort {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f1410' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M4 17l3 3 3-3M17 20V4M14 7l3-3 3 3'/%3E%3C/svg%3E");
}
/* Затемнение под шторкой (нажатие по нему закрывает шторку) */
html body.site .jshop_list_product.vc-sheet-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147482000;
    background: rgba(31, 20, 16, 0.55);
}
/* Сама шторка — это форма JoomShopping, прижатая к низу экрана */
html body.site .jshop_list_product.vc-sheet-open.filters-open form#sort_count {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 2147482001 !important;
    display: block !important;
    max-height: 85vh;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    margin: 0 !important;
    padding: 0 16px 24px !important;
    border: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    background: var(--vc-cream) !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.2);
}
html body.site .jshop_list_product.vc-sheet-open .vc-sheet__head {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    margin: 0 -16px 12px;
    padding: 0 6px 0 16px;
    border-bottom: 1px solid var(--vc-border);
    background: var(--vc-cream);
}
.vc-sheet__title { font-size: 19px; font-weight: 600; color: var(--vc-dark); }
.vc-sheet__close {
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: var(--vc-dark);
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
/* В шторке: «Показать» (бывш. «Старт») и «Сбросить» — одной строкой внизу */
html body.site .jshop_list_product.vc-sheet-open .filter_price,
html body.site .jshop_list_product.vc-sheet-open .box_cat_man,
html body.site .jshop_list_product.vc-sheet-open .block_sorting_count_to_page { display: block !important; width: 100% !important; }
html body.site .jshop_list_product.vc-sheet-open .control-group { width: 100% !important; }
html body.site .jshop_list_product.vc-sheet-open .box_button { margin-top: 8px !important; }
html body.site .jshop_list_product.vc-sheet-open .box_button .controls { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
html body.site .jshop_list_product.vc-sheet-open #submit_product_list_filter { order: 2; width: 100%; }
html body.site .jshop_list_product.vc-sheet-open .clear_filter { order: 1; }
html body.site .jshop_list_product.vc-sheet-open .box_price_from_to .controls { display: grid !important; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; }
html body.site .jshop_list_product.vc-sheet-open .box_price_from_to .input-append,
html body.site .jshop_list_product.vc-sheet-open .box_price_from_to input { width: 100% !important; }

/* ============================================================
   14. ГЛАВНАЯ: футер и «Популярные товары» всегда видны на телефоне
   (старые стили шаблона прятали их на мобильных)
   ============================================================ */
html body.site footer.footer { display: block !important; visibility: visible !important; height: auto !important; }
html body.site .topt,
html body.site .topt > .container,
html body.site .topt1,
html body.site .akcia,
html body.site .akcia > .container,
html body.site .akcia1 { display: block !important; visibility: visible !important; height: auto !important; }
html body.site .topt .latest_products.jshop_list_product,
html body.site .akcia .latest_products.jshop_list_product { display: flex !important; }

/* Баннер «Распродажа женских сумок DAVID JONES» — тёмная плашка с кнопкой, как в макете */
html body.site.itemid-165 .blog-featured .item-content p:has(span[style*="font-size: 18pt"]) {
    margin: 12px -16px 0 !important;
    padding: 24px 20px 6px !important;
    background: var(--vc-dark);
}
html body.site.itemid-165 .blog-featured .item-content p:has(span[style*="font-size: 18pt"])::before {
    content: "Распродажа";
    display: block;
    margin: 0 0 8px;
    font-size: 13px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--vc-wheat);
    opacity: 0.8;
}
html body.site.itemid-165 .blog-featured p span[style*="font-size: 18pt"] {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 22px !important;
    line-height: 1.25 !important;
    color: var(--vc-wheat) !important;
}
html body.site.itemid-165 .blog-featured .item-content p:has(a[href*="zhenskie-sumki"]) {
    margin: 0 -16px -16px !important;
    padding: 10px 20px 24px !important;
    background: var(--vc-dark);
    font-size: 0 !important;
    line-height: 0 !important;
}
html body.site.itemid-165 .blog-featured .item-content p:has(a[href*="zhenskie-sumki"]) span,
html body.site.itemid-165 .blog-featured .item-content p:has(a[href*="zhenskie-sumki"]) strong { font-size: 0 !important; text-decoration: none !important; }
html body.site.itemid-165 .blog-featured .item-content p a[href*="zhenskie-sumki"] {
    display: inline-flex !important;
    align-items: center;
    height: 44px;
    padding: 0 20px;
    border-radius: 6px;
    background: var(--vc-wine) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}
html body.site.itemid-165 .blog-featured .item-content p a[href*="zhenskie-sumki"]::after {
    content: "Смотреть сумки";
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}
/* Пустые абзацы после баннера не нужны */
html body.site.itemid-165 .blog-featured .item-content p:has(a[href*="zhenskie-sumki"]) ~ p { display: none !important; }
/* Когда в статье нет баннера — у карточки обычный нижний отступ */
html body.site.itemid-165 .blog-featured .item-content:not(:has(a[href*="zhenskie-sumki"])) { padding-bottom: 16px; }

/* ============================================================
   15. КАРТОЧКА ТОВАРА: заголовок и характеристики как в макете
   ============================================================ */
html body.site .productfull h1,
html body.site form.productfull > h1 { font-size: 22px !important; }
/* Характеристики (поля JoomShopping «Характеристики» / extra fields) — таблица в две колонки */
html body.site .productfull .extra_fields:not(:empty) {
    order: 20;
    display: block !important;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px dashed var(--vc-border);
    font-size: 14px !important;
}
html body.site .productfull .extra_fields .extra_fields_el,
html body.site .productfull .extra_fields > div > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 9px 0 !important;
    border-bottom: 1px solid var(--vc-border);
    text-align: left !important;
}
html body.site .productfull .extra_fields .extra_fields_name { color: var(--vc-muted) !important; font-weight: 400 !important; }
html body.site .productfull .extra_fields .extra_fields_value { color: var(--vc-text) !important; }
html body.site .productfull .extra_fields .extra_fields_group { margin: 8px 0 4px; font-weight: 600; color: var(--vc-dark); }


/* ============================================================
   16. КОРЗИНА И ОФОРМЛЕНИЕ ЗАКАЗА (JoomShopping, шаги 2–5)
   ============================================================ */
/* Страницы корзины и шагов заказа: без «Новинок» и «Популярных» внизу — не отвлекаем от покупки */
html body.site[class*="task-step"] .akcia,
html body.site[class*="task-step"] .topt,
html body.site[class*="task-step"] .posl,
html body.site[class*="task-step"] .info,
html body.site[class*="task-step"] .manuf2,
html body.site:has(#updateCart) .akcia,
html body.site:has(#updateCart) .topt,
html body.site:has(#updateCart) .posl,
html body.site:has(#updateCart) .info,
html body.site:has(#updateCart) .manuf2 { display: none !important; }

/* Весь текст по левому краю */
html body.site #comjshop .cart,
html body.site #comjshop .cart *,
html body.site #comjshop .jshop_subtotal td,
html body.site #comjshop .checkout_payment_block,
html body.site #comjshop .checkout_payment_block *,
html body.site #comjshop .checkout_pfinish_block,
html body.site #comjshop .checkout_pfinish_block * { text-align: left !important; }

/* Заголовок корзины */
html body.site #comjshop:has(> #updateCart)::before {
    content: "Корзина";
    display: block;
    margin: 12px 0 14px;
    padding: 0 0 10px;
    border-bottom: 3px solid var(--vc-wheat);
    font-size: 22px;
    line-height: 1.25;
    font-weight: 600;
    color: var(--vc-brown);
}

/* Шаги заказа: Адрес — Оплата — Доставка — Подтверждение */
html body.site #jshop_menu_order {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 4px;
    margin: 12px 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}
html body.site #jshop_menu_order .jshop_order_step {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border: 0 !important;
    border-top: 4px solid var(--vc-border) !important;
    background: none !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    color: var(--vc-muted) !important;
}
html body.site #jshop_menu_order .jshop_order_step.prev { border-top-color: var(--vc-border-strong) !important; }
html body.site #jshop_menu_order .jshop_order_step.active { border-top-color: var(--vc-brown) !important; }
html body.site #jshop_menu_order .jshop_order_step span,
html body.site #jshop_menu_order .jshop_order_step a {
    display: block;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    color: var(--vc-muted) !important;
    text-decoration: none !important;
}
html body.site #jshop_menu_order .jshop_order_step.prev a { color: var(--vc-brown) !important; text-decoration: underline !important; }
html body.site #jshop_menu_order .jshop_order_step.active span { color: var(--vc-dark) !important; font-weight: 600 !important; }

/* Товар в корзине — карточка: фото слева, всё остальное справа */
html body.site #comjshop table.jshop.cart,
html body.site #comjshop table.jshop.cart > tbody {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
}
html body.site #comjshop table.jshop.cart tr:has(> th) { display: none !important; }
html body.site #comjshop table.jshop.cart tr.jshop_prod_cart {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 6px;
    align-items: start;
    margin: 0 0 12px !important;
    padding: 12px !important;
    border: 1px solid var(--vc-border) !important;
    border-radius: 8px !important;
    background: var(--vc-cream) !important;
    box-shadow: none !important;
}
html body.site #comjshop table.jshop.cart tr.jshop_prod_cart > td {
    display: block !important;
    grid-column: 2;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    color: var(--vc-text) !important;
}
html body.site #comjshop table.jshop.cart tr.jshop_prod_cart > td::before { content: none !important; display: none !important; }
html body.site #comjshop table.jshop.cart td.jshop_img_description_center {
    grid-column: 1 !important;
    grid-row: 1 / span 5;
    align-self: start;
}
html body.site #comjshop table.jshop.cart td.jshop_img_description_center img {
    width: 88px !important;
    height: 88px !important;
    max-width: none !important;
    object-fit: contain;
    border: 1px solid var(--vc-border) !important;
    border-radius: 6px !important;
    background: #fff;
    display: block;
}
html body.site #comjshop table.jshop.cart td.product_name a.prodname {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: var(--vc-dark) !important;
    text-decoration: none !important;
}
html body.site #comjshop table.jshop.cart .jshop_code_prod { display: none !important; }
html body.site #comjshop table.jshop.cart .deliverytime,
html body.site #comjshop table.jshop.cart .cartdescr_attr,
html body.site #comjshop table.jshop.cart .list_extra_field {
    margin: 4px 0 0 !important;
    font-size: 12.5px !important;
    color: var(--vc-muted) !important;
    font-style: normal !important;
}
/* Цена за штуку не нужна — показываем сумму строки */
html body.site #comjshop table.jshop.cart tr.jshop_prod_cart > td.single_price { display: none !important; }
html body.site #comjshop table.jshop.cart td.total_price,
html body.site #comjshop table.jshop.cart td.total_price .data {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--vc-wine) !important;
}
html body.site #comjshop table.jshop.cart td.quantity .data {
    display: flex !important;
    align-items: center;
    gap: 8px;
    font-size: 14px !important;
}
html body.site #comjshop table.jshop.cart td.quantity .mobile-cart-inline {
    display: inline !important;
    font-size: 14px !important;
    color: var(--vc-text) !important;
}
html body.site #comjshop table.jshop.cart td.quantity input.inputbox {
    width: 64px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 16px !important;
    text-align: center !important;
    box-shadow: none !important;
}
html body.site #comjshop table.jshop.cart td.quantity .cart_reload {
    width: 40px;
    height: 40px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--vc-border);
    color: var(--vc-brown);
    cursor: pointer;
}
/* «Удалить» — скромная ссылка, не кричащая кнопка */
html body.site #comjshop table.jshop.cart td.remove a.button-img,
html body.site #comjshop table.jshop.cart td.remove a {
    display: inline-flex !important;
    align-items: center;
    min-height: 32px;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--vc-brown) !important;
    text-decoration: underline !important;
}

/* Вес и итог */
html body.site #comjshop .weightorder {
    margin: 4px 0 8px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-align: left !important;
    color: var(--vc-muted) !important;
}
html body.site #comjshop .weightorder span { font-weight: 400 !important; color: var(--vc-muted) !important; }
html body.site #comjshop table.jshop_subtotal,
html body.site #comjshop table.jshop_subtotal > tbody {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    border: 0 !important;
}
html body.site #comjshop table.jshop_subtotal tr {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 6px 0 !important;
    border: 0 !important;
}
html body.site #comjshop table.jshop_subtotal td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--vc-text) !important;
}
html body.site #comjshop table.jshop_subtotal td.value { white-space: nowrap; font-weight: 600 !important; }
html body.site #comjshop table.jshop_subtotal tr.total {
    margin-top: 4px;
    padding-top: 10px !important;
    border-top: 1px solid var(--vc-border) !important;
}
html body.site #comjshop table.jshop_subtotal tr.total td { font-size: 17px !important; font-weight: 600 !important; color: var(--vc-dark) !important; }
html body.site #comjshop table.jshop_subtotal tr.total td.value { font-size: 20px !important; font-weight: 700 !important; color: var(--vc-wine) !important; }
html body.site #comjshop table.jshop_subtotal tr.plusshipping td { font-size: 13px !important; color: var(--vc-muted) !important; }

/* Кнопки корзины: «Оформить заказ» — главная, во всю ширину; «Вернуться в магазин» — под ней */
html body.site #comjshop .cart_buttons { margin: 0 0 32px !important; padding: 0 !important; border: 0 !important; }
html body.site #comjshop .cart_buttons #checkout {
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 10px !important;
}
html body.site #comjshop .cart_buttons .pull-left,
html body.site #comjshop .cart_buttons .pull-right { float: none !important; width: 100% !important; margin: 0 !important; }
html body.site #comjshop .cart_buttons a.btn {
    width: 100% !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
html body.site #comjshop .cart_buttons a.btn-arrow-right { height: 52px; background: var(--vc-brown) !important; color: var(--vc-wheat) !important; font-size: 16px !important; }
html body.site #comjshop .cart_buttons a.btn-arrow-left { height: 48px; background: var(--vc-border) !important; color: var(--vc-brown) !important; font-size: 15px !important; }

/* Единые кнопки шагов заказа */
html body.site #comjshop .vc-checkout-actions {
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 !important;
}
html body.site #comjshop .vc-btn,
html body.site #comjshop #payment_submit,
html body.site #comjshop #shipping_submit,
html body.site #comjshop .checkout_shipping_block input[type="submit"] {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    -webkit-appearance: none;
    appearance: none;
}
html body.site #comjshop .vc-btn-next,
html body.site #comjshop #payment_submit,
html body.site #comjshop #shipping_submit,
html body.site #comjshop .checkout_shipping_block input[type="submit"] {
    height: 52px !important;
    background: var(--vc-brown) !important;
    color: var(--vc-wheat) !important;
}
html body.site #comjshop .vc-btn-back {
    height: 48px !important;
    background: var(--vc-border) !important;
    color: var(--vc-brown) !important;
    font-size: 15px !important;
}

/* Шаг «Адрес»: поле над полем, поля 48 px и 16 px шрифт (iPhone не зумит) */
html body.site #comjshop .address_block {
    margin: 0 0 32px !important;
    padding: 20px 16px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}
html body.site #comjshop .address_block .form-horizontal .control-group,
html body.site #comjshop .address_block .control-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
    margin: 0 0 14px !important;
}
html body.site #comjshop .address_block .control-label,
html body.site #comjshop .address_block .form-horizontal .control-label {
    flex: none !important;
    width: auto !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    color: var(--vc-muted) !important;
}
html body.site #comjshop .address_block .control-label span,
html body.site #comjshop .address_block .vc-req { color: var(--vc-wine) !important; }
html body.site #comjshop .address_block .controls,
html body.site #comjshop .address_block .form-horizontal .controls { flex: none !important; width: 100% !important; }
html body.site #comjshop .address_block .controls input.input,
html body.site #comjshop .address_block .controls input[type="text"],
html body.site #comjshop .address_block .controls input[type="email"],
html body.site #comjshop .address_block .controls input[type="tel"],
html body.site #comjshop .address_block .controls select {
    height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 16px !important;
    color: var(--vc-text) !important;
}
html body.site #comjshop .address_block .controls input:focus { border-color: var(--vc-brown) !important; box-shadow: 0 0 0 3px rgba(106, 51, 14, 0.12) !important; }
/* «Доставка»: три плашки-переключателя вместо огромных кружков */
html body.site #comjshop .vc-delivery-mode-row .controls,
html body.site #comjshop #vc-delivery-mode {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px !important;
}
html body.site #comjshop #vc-delivery-mode label {
    position: relative;
    min-height: 52px;
    margin: 0 !important;
    padding: 6px 4px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center !important;
    border: 1px solid var(--vc-border-strong);
    border-radius: 8px;
    background: #fff;
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
    color: var(--vc-dark) !important;
    cursor: pointer;
}
html body.site #comjshop #vc-delivery-mode label input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    transform: none !important;
    pointer-events: none;
}
html body.site #comjshop #vc-delivery-mode label:has(input:checked) {
    border: 2px solid var(--vc-brown);
    background: var(--vc-cream);
    color: var(--vc-brown) !important;
}
html body.site #comjshop #vc-delivery-mode label:has(input:focus-visible) { outline: 2px solid var(--vc-brown); outline-offset: 2px; }
html body.site #comjshop #street_hint {
    margin: -4px 0 14px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: var(--vc-text) !important;
}
html body.site #comjshop .address_block .requiredtext {
    margin: 0 0 12px !important;
    font-size: 13px !important;
    color: var(--vc-muted) !important;
}
html body.site #comjshop .address_block .box_button { display: block !important; margin: 8px 0 0 !important; }

/* Шаги «Оплата» и «Доставка»: каждый способ — карточка с кружком */
html body.site #comjshop #table_payments,
html body.site #comjshop #table_shippings {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 16px !important;
}
html body.site #comjshop #table_payments > .name {
    margin: 0 !important;
    padding: 14px 14px 0 !important;
    border: 1px solid var(--vc-border);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: var(--vc-cream);
}
html body.site #comjshop #table_payments > .paymform {
    margin: -10px 0 0 !important;
    padding: 6px 14px 14px 44px !important;
    border: 1px solid var(--vc-border);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: var(--vc-cream);
}
html body.site #comjshop #table_payments label,
html body.site #comjshop #table_shippings label {
    display: inline !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: var(--vc-dark) !important;
}
html body.site #comjshop #table_payments input[type="radio"],
html body.site #comjshop #table_shippings input[type="radio"],
html body.site #comjshop .checkout_shipping_block input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
    margin: 0 10px 0 0 !important;
    vertical-align: -4px;
    accent-color: var(--vc-brown);
    transform: none !important;
}
html body.site #comjshop #table_payments .paymform p,
html body.site #comjshop #table_payments .paymform div,
html body.site #comjshop .checkout_shipping_block p {
    margin: 0 0 6px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--vc-text) !important;
}
html body.site #comjshop .checkout_payment_block,
html body.site #comjshop .checkout_shipping_block { margin: 0 0 32px !important; }

/* Шаг «Подтверждение» */
html body.site #comjshop .vc-step5-row { display: block !important; }
html body.site #comjshop .vc-step5-left,
html body.site #comjshop .vc-step5-right { width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; }
html body.site #comjshop .checkoutinfo {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 16px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
    font-size: 14px !important;
    line-height: 1.45 !important;
}
html body.site #comjshop .checkoutinfo > div,
html body.site #comjshop .checkoutinfo .delivery_time { margin: 0 !important; font-size: 14px !important; color: var(--vc-text) !important; }
html body.site #comjshop .checkoutinfo .delivery_time { margin-top: 8px !important; }
html body.site #comjshop .checkoutinfo strong { font-weight: 400 !important; color: var(--vc-muted) !important; }
html body.site #comjshop .vc-consents {
    margin: 8px 0 16px !important;
    padding: 4px 16px !important;
    border: 1px solid var(--vc-border);
    border-radius: 8px;
    background: var(--vc-cream);
}
html body.site #comjshop .vc-consent-row {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    margin: 0 !important;
    padding: 12px 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    color: var(--vc-text) !important;
    cursor: pointer;
}
html body.site #comjshop .vc-consent-row + .vc-consent-row { border-top: 1px dashed var(--vc-border) !important; }
html body.site #comjshop .vc-consent-row input[type="checkbox"] {
    flex: 0 0 20px;
    width: 20px !important;
    height: 20px !important;
    margin: 1px 0 0 !important;
    accent-color: var(--vc-brown);
}
html body.site #comjshop .vc-consent-row b { font-weight: 400 !important; }
html body.site #comjshop .vc-consent-row a.policy {
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--vc-brown) !important;
    text-decoration: underline !important;
}
html body.site #comjshop .pfinish_comment_block { margin: 0 0 20px !important; }
html body.site #comjshop .pfinish_comment_block .name {
    margin: 0 0 6px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: var(--vc-muted) !important;
}
html body.site #comjshop .pfinish_comment_block textarea {
    width: 100% !important;
    min-height: 96px;
    padding: 12px 14px !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 16px !important;
    box-sizing: border-box;
}
html body.site #comjshop .vc-step5-actions { margin: 0 0 32px !important; }


/* --- поправки к п.16 --- */
/* Кнопки шагов: в колонку, без сжатия по высоте */
html body.site div#comjshop .vc-checkout-actions .vc-btn,
html body.site div#comjshop .vc-step5-actions .vc-checkout-actions .vc-btn,
html body.site div#comjshop .checkout_pfinish_block .vc-checkout-actions .vc-btn {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 0 16px !important;
    text-align: center !important;
}
html body.site div#comjshop .vc-checkout-actions .vc-btn-next,
html body.site div#comjshop .checkout_pfinish_block .vc-checkout-actions .vc-btn-next { height: 52px !important; font-size: 16px !important; }
html body.site div#comjshop .vc-checkout-actions .vc-btn-back,
html body.site div#comjshop .checkout_pfinish_block .vc-checkout-actions .vc-btn-back { height: 48px !important; font-size: 15px !important; }
html body.site div#comjshop .checkout_pfinish_block .vc-checkout-actions,
html body.site div#comjshop .vc-checkout-actions { flex-direction: column-reverse !important; margin-top: 16px !important; }
html body.site div#comjshop #payment_submit { text-align: center !important; justify-content: center; }

/* Кнопка «Обновить корзину» — иконка стрелок */
html body.site #comjshop table.jshop.cart td.quantity .cart_reload {
    font-size: 0 !important;
    background: var(--vc-border) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a330e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 0 0-14.9-4M4 4v4h4M4 13a8 8 0 0 0 14.9 4M20 20v-4h-4'/%3E%3C/svg%3E") no-repeat center / 20px 20px !important;
}
html body.site #comjshop table.jshop.cart td.quantity .cart_reload::before { content: none !important; }

/* Шаг «Доставка»: плашка с итогом — строки друг под другом */
html body.site #comjshop #vc-order-total {
    margin: 0 0 16px !important;
    padding: 14px 16px !important;
    border-radius: 8px !important;
    background: var(--vc-cream) !important;
    box-shadow: none !important;
}
html body.site #comjshop #vc-order-total .vc-total-row { flex-direction: column !important; align-items: stretch !important; gap: 6px !important; }
html body.site #comjshop #vc-order-total .vc-total-item { display: flex !important; justify-content: space-between; font-size: 15px !important; color: var(--vc-text) !important; }
html body.site #comjshop #vc-order-total .vc-total-item b { font-weight: 600 !important; color: var(--vc-text) !important; }
html body.site #comjshop #vc-order-total .vc-total-final {
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid var(--vc-border);
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--vc-dark) !important;
}
html body.site #comjshop #vc-order-total .vc-total-final b { font-size: 20px !important; font-weight: 700 !important; color: var(--vc-wine) !important; }

/* Каждый способ доставки — одна карточка; выбранный выделен коричневой рамкой */
html body.site #comjshop #table_shippings > .name {
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--vc-border) !important;
    border-radius: 8px !important;
    background: var(--vc-cream) !important;
}
html body.site #comjshop #table_shippings > .name:has(> input:checked) { border: 2px solid var(--vc-brown) !important; padding: 13px !important; }
html body.site #comjshop #table_shippings > .name > label b { font-weight: 600 !important; }
html body.site #comjshop #table_shippings .shipping_price { font-weight: 600 !important; color: var(--vc-wine) !important; white-space: nowrap; }
html body.site #comjshop #table_shippings .shipping_price_hint {
    display: block;
    margin: 4px 0 0 30px;
    font-size: 13px !important;
    font-style: normal !important;
    color: var(--vc-muted) !important;
}
html body.site #comjshop #table_shippings .shipping_descr,
html body.site #comjshop #table_shippings .shipping_delivery {
    margin: 6px 0 0 30px !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: var(--vc-text) !important;
    text-align: left !important;
}
html body.site #comjshop #table_shippings .shipping_delivery { color: var(--vc-muted) !important; }
/* Карта пунктов выдачи: во всю ширину карточки, не залезает на шапку при прокрутке */
html body.site #comjshop #table_shippings .shipping_form { margin: 10px 0 0 !important; }
html body.site #comjshop .yandex-pvz-wrap,
html body.site #comjshop .cdek-pvz-wrap { margin: 0 !important; }
html body.site #comjshop [id^="yandex_pvz_chosen_"],
html body.site #comjshop [id^="cdek_pvz_chosen_"] {
    margin: 0 0 8px !important;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid var(--vc-border);
    font-size: 14px !important;
    line-height: 1.4;
}
html body.site #comjshop [id^="yandex-osm-map-"],
html body.site #comjshop [id^="cdek-osm-map-"] {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid var(--vc-border-strong) !important;
    border-radius: 8px !important;
    overflow: hidden;
}
html body.site .leaflet-container { isolation: isolate; z-index: 0; font-family: inherit; }
html body.site .leaflet-control-zoom a { width: 36px !important; height: 36px !important; line-height: 36px !important; }
html body.site .leaflet-popup-content { font-size: 14px; line-height: 1.4; margin: 12px 14px; }
html body.site .leaflet-popup-content button,
html body.site .leaflet-popup-content .btn {
    min-height: 40px;
    margin-top: 8px;
    padding: 0 14px;
    border: 0;
    border-radius: 6px;
    background: var(--vc-brown);
    color: var(--vc-wheat);
    font-weight: 600;
}


/* Шаг «Доставка»: обёртка мини-корзины без второй рамки */
html body.site #comjshop .vc-cart-panel {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

} /* конец @media (max-width: 768px) */

/* Перенесено из удалённого inline-блока index.php (FORCE-MOBILE v23):
   скрыть служебный текст фильтра, если модуль выводит его как текст */
@media (max-width: 768px) {
    html body .mmain .lft .moduletable .jshop_filters_func { display: none !important; }
}



/* VC v5.3 — скрыть «В список пожеланий» (wishlist не используется) */

html body.site .buttons.product-buttons .btn-wishlist,

html body.site input.btn-wishlist,

html body.site .btn-wishlist { display: none !important; }



/* VC v5.4 — SEO-описание категорий: мобильный */

@media (max-width: 768px) {

    html body.site .category_description { font-size: 14px !important; padding: 0 12px !important; margin: 0 0 24px !important; }

    html body.site .category_description h2 { font-size: 17px !important; margin: 16px 0 8px !important; }

}

