#cs-fb-widget {
    display: none;
}
.price span.price-new {
    color: #f00;
}
.position-no-owl .row_items .countDays, .position-no-owl .row_items .countHours, .position-no-owl .row_items .countMinutes, .position-no-owl .row_items .countSec {
    box-shadow: 0px 1px 5px #ccc;
}
.shiptobilling.clearfix {
    display: none;
}

/* Custom css for product */
section.product-design-shablon-one {
    display: flex!important;
    flex-direction: column!important;
    justify-content: center!important;
    align-items: center!important;
    align-content: center!important;
    padding: 80px 160px;
}

section.product-design-shablon-one h2 {
    font-weight: 400;
    font-size: 48px;
    text-align: center;
}

section.product-design-shablon-one p {
    text-align: center;
    padding: 80px 0 0 0;
    font-size: 24px;
    line-height: 29px;
}

section.product-design-shablon-two {
    background: #F8921A;
    padding: 80px 60px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

section.product-design-shablon-two h2 {
    font-weight: 400;
    font-size: 48px;
    color: white;
    text-align: center;
}

.product-design-shablon-two-content {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    padding: 80px 0 0 0;
}

.product-design-shablon-two-block {
    width: 48%;
    background: white;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    border-radius: 15px;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.25);
    padding: 30px;
    box-sizing: border-box;
}

.product-design-shablon-two-block p {
    font-size: 24px;
    line-height: 29px;
    padding: 0 0 0 40px;
}

.product-design-shablon-two-block img {
    max-width: 100px!important;
    width: 100%;
    border-radius: 15px;
}

section.product-design-shablon-thee {
    background: #F8921A;
    padding: 80px 60px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

section.product-design-shablon-thee h2 {
    font-weight: 400;
    font-size: 48px;
    color: white;
    text-align: center;
}

.product-design-shablon-thee-content {
    display: flex;
    flex-direction: row;
    align-content: flex-start;
    align-items: flex-start;
    padding: 80px 0 0 0;
    justify-content: space-between;
}

.product-design-shablon-thee-block {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    align-content: center;
    width: 23%;
}

.product-design-shablon-thee-block img {
    border-radius: 50%;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.25);
}
.product-design-shablon-thee-block p {
    font-size: 18px;
    line-height: 22px;
    color: #FFFFFF;
    text-align: center;
    padding: 40px 20px 0 20px;
}

section.product-design-shablon-four {
    display: flex!important;
    flex-direction: column!important;
    justify-content: center!important;
    align-items: center!important;
    align-content: center!important;
    padding: 80px;
}

section.product-design-shablon-four h2 {
    font-weight: 400;
    font-size: 48px;
    text-align: center;
}

.product-design-shablon-four-content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    padding: 80px 0 0 0;
    width: 100%;
}

.product-design-shablon-four-content ul {
    width: 100%;
    list-style: none;
    padding: 0;
    text-align: center;
}

.product-design-shablon-four-content ul li {
    font-size: 24px;
    line-height: 29px;
}

.product-design-shablon-four-content ul li b {font-weight: 400;color: #715ecc;}

section.product-design-shablon-one iframe {
    overflow: hidden;
    border-radius: 15px;
    margin: 40px;
}

.product-design-shablon-one-video {
    background: #f7f8fb;
}

#floatCart {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    position: fixed;
    right: 20px;
    bottom: 80px;
    z-index: 2;
    background: #ffc300;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
#floatCart .shop-bag-svg {
    color: #000;
    width: 25px;
    height: 22px;
}
#floatCart span.count {
    position: absolute;
    width: 20px;
    height: 20px;
    top: -7px;
    right: -5px;
    background: #ffc300;
    color: #000;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 13px;
}

.fastorder_full {
    background: #f9921b;
    margin: 50px 0;
}
#fastorder_full {
    display: flex;
    align-items: center;
    padding: 28px 30px;

}
form#fastorder_full .form-group {
    margin: 0 20px 0 0;
}
#fastorder_full .form-group.fname {
    margin-left: auto;

}
#fastorder_full .form-group.fbtn {
    margin-right: 0;
}
#fastorder_full .form-group label{
    position: absolute;
    top: 10px;
    right: 14px;
}
#fastorder_full  .col-text {
    color: #fff;
    font-size: 25px;
}
.h1-prod-name.mobile {
    display: none;
}
.sticker-ns.popular {
    display: none;
}
#ch_mobm_special svg path {
    fill: #FF9400;
}
#ch_mobm_special .mm-icon-left {
    background: #715ecc;
}
#showmore button {
    background: #715ECC;
    color: #fff;
}

@media (max-width: 1000px) {
    #floatCart {
        bottom: 65px;
        right: 10px;
    }
    section.product-design-shablon-one {
        padding: 40px 20px;
    }
    
    section.product-design-shablon-one h2 {
        font-size: 36px;
    }
    
    section.product-design-shablon-one p {
        padding: 40px 0 0 0;
        font-size: 18px;
        line-height: 22px;
    }
    
    section.product-design-shablon-two {
        padding: 40px 20px;
    }
    
    section.product-design-shablon-two h2 {
        font-size: 36px;
    }
    
    .product-design-shablon-two-content {
        display: flex;
        flex-direction: column;
        padding: 40px 0 0 0;
    }
    
    .product-design-shablon-two-block {
        width: 100%;
        padding: 15px;
        margin: 0 0 40px 0;
    }
    
    .product-design-shablon-two-block img {
        max-width: 80px!important;
    }
    
    .product-design-shablon-two-block p {
        font-size: 18px;
        line-height: 22px;
    }
    
    section.product-design-shablon-thee h2 {
        font-size: 36px;
    }
    
    .product-design-shablon-thee-content {
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
        padding: 40px 0 0 0;
    }
    
    .product-design-shablon-thee-block {
        width: 100%;
        padding: 0 0 30px 0;
    }
    
    section.product-design-shablon-four h2 {
        font-size: 36px;
    }
    
    .product-design-shablon-four-content {
        display: flex;
        flex-direction: column;
        padding: 40px 0 0 0;
    }
    
    .product-design-shablon-four-content ul li {
        font-size: 18px;
        line-height: 22px;
        padding: 4px 0;
    }
    
    section.product-design-shablon-four {
        padding: 40px 20px;
    }
    #fastorder_full  {
        display: block;
        max-width: 400px;
        margin: auto;
    }
    #fastorder_full .col-text {
        padding-bottom: 30px;
    }
    form#fastorder_full .form-group {
        margin: 0px 0px 15px 0;
    }
}
@media (max-width: 768px) {
    .dn7 {
        display: none !important;
    }
    .header-search.livesearch .input-group-btn.categories {
        display: none;
    }
    .mob-fix-panel .fm-left-block .mob-m-i + div.mob-m-i {
        margin-left: 0;
    }
    h1.h1-prod-name.mobile {
        display: block;
    }
    h1.h1-prod-name.pc {
        display: none;
    }
    .ft_tabs_mob .tabs__header.ft__mobile .my-tabs.nav-tabs > li > a {
        padding: 8px 10px;
    }
    .my-tabs.nav-tabs > li > a {
        font-size: 12px;
    }
    /* Было `center`: последний нечётный товар вставал посередине
       строки вместо левой колонки — заказчик поймал 07.09.2026.
       На широком экране выравнивание и так по левому краю. */
    .row-flex.category-page {
        justify-content: flex-start;
    }
    .addit-action .compare {
        display: none;
    }
    .addit-action .quickview,
    .addit-action .quick-order,
    .addit-action .wishlist {
        transform: scale(0.8);
    }
    .stickers-ns {
        display: none;
    }
}
@media (max-width: 600px) {
    .product-thumb .btn-general .icon-cart-add {
        background: #fff;
    }
    .product-thumb .btn-general {
        color: #fff;
        background-color: #ff9400;
    }
}
@media (max-width: 480px) {
    .product-design-shablon-two-block {
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
    }
    
    .product-design-shablon-two-block p {
        padding: 20px 0 0 0;
        text-align: center;
    }
}
/* end cutsom css */

#form-language {
    position: relative;
    z-index: 10000;
}
#form-language .dropdown-menu {
    min-width: auto;
}
#form-language .dropdown-menu button {
    padding: 5px 10px;
}
/* ─────────────────────────────────────────────────────────────
   Типографика информационных страниц. Добавлено 04.09.2026.
   Двойной селектор обязателен: «Политика возврата и обмена»
   рендерится через #tab-description, а не через .p-content.
   ───────────────────────────────────────────────────────────── */

/* Колонка содержимого. У контейнера темы ширина не ограничена
   вовсе, поэтому предел ставится здесь — иначе на широком
   мониторе баннер и плитки растягиваются во весь экран. */
.p-content,
#tab-description {
    font-size: 16px;
    line-height: 26px;
    color: #222;
    max-width: 880px;
}

/* Заголовок страницы живёт в шаблоне, вне блока с текстом. */
#content:has(.p-content) > h1,
#content:has(#tab-description) > h1,
#content:has(.p-content) > .breadcrumb,
#content:has(#tab-description) > .breadcrumb {
    max-width: 880px;
}

/* Мера строки вешается на текстовые элементы, а не на обёртку,
   чтобы плашки, таблицы и картинки могли быть шире текста. */
.p-content > p,
.p-content > ul,
.p-content > ol,
.p-content > h2,
.p-content > h3,
.p-content > h4,
.p-content > blockquote,
#tab-description > p,
#tab-description > ul,
#tab-description > ol,
#tab-description > h2,
#tab-description > h3,
#tab-description > h4,
#tab-description > blockquote {
    max-width: 680px;
}

.p-content p,
#tab-description p {
    margin: 0 0 16px;
}

/* Заголовок страницы. :has() поддерживают все живые браузеры;
   старые просто пропустят правило, ничего не сломав. */
#content:has(.p-content) > h1,
#content:has(#tab-description) > h1 {
    font-size: 32px;
    line-height: 40px;
    font-weight: 600;
    margin: 0 0 24px;
}

/* Иерархия: шаг размером и весом, а не двумя пикселями.
   Отступ сверху больше, чем снизу, — заголовок принадлежит
   тому, что под ним, а не тому, что над. */
.p-content h2,
#tab-description h2 {
    font-size: 22px;
    line-height: 30px;
    font-weight: 600;
    margin: 40px 0 12px;
}

.p-content h3,
#tab-description h3 {
    font-size: 17px;
    line-height: 24px;
    font-weight: 600;
    margin: 32px 0 8px;
}

.p-content h4,
#tab-description h4 {
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    margin: 24px 0 8px;
}

.p-content > :first-child,
#tab-description > :first-child {
    margin-top: 0;
}

/* Списки: 40 пикселей отступа по умолчанию съедают
   одиннадцатую часть ширины телефона впустую. */
.p-content ul,
.p-content ol,
#tab-description ul,
#tab-description ol {
    padding-left: 20px;
    margin: 0 0 16px;
    max-width: 680px;
}

.p-content li,
#tab-description li {
    margin-bottom: 8px;
}

.p-content li:last-child,
#tab-description li:last-child {
    margin-bottom: 0;
}

/* Таблицы: линии вместо рамок, цифры в колонку. */
.p-content table,
#tab-description table {
    width: 100%;
    max-width: 680px;
    border-collapse: collapse;
    margin: 0 0 24px;
    font-size: 15px;
}

.p-content table th,
.p-content table td,
#tab-description table th,
#tab-description table td {
    padding: 12px 16px 12px 0;
    border: 0;
    border-bottom: 1px solid #eaedf7;
    text-align: left;
    vertical-align: top;
}

.p-content table th,
#tab-description table th {
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #768292;
}

.p-content table td + td,
#tab-description table td + td {
    font-variant-numeric: tabular-nums;
}

.p-content img,
#tab-description img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 767px) {

    #content:has(.p-content) > h1,
    #content:has(#tab-description) > h1 {
        font-size: 24px;
        line-height: 30px;
        margin: 0 0 20px;
    }

    .p-content h2,
    #tab-description h2 {
        font-size: 19px;
        line-height: 26px;
        margin: 32px 0 10px;
    }

    .p-content h3,
    #tab-description h3 {
        font-size: 16px;
        line-height: 22px;
        margin: 24px 0 8px;
    }

    /* Таблица разворачивается в список: горизонтальную прокрутку
       на телефоне читатель не находит. */
    .p-content table,
    .p-content table tbody,
    .p-content table tr,
    .p-content table td,
    #tab-description table,
    #tab-description table tbody,
    #tab-description table tr,
    #tab-description table td {
        display: block;
        width: 100%;
    }

    .p-content table thead,
    #tab-description table thead {
        display: none;
    }

    .p-content table tr,
    #tab-description table tr {
        padding: 12px 0;
        border-bottom: 1px solid #eaedf7;
    }

    .p-content table td,
    #tab-description table td {
        padding: 2px 0;
        border: 0;
    }

    .p-content table td:first-child,
    #tab-description table td:first-child {
        font-weight: 600;
    }
}

/* ─────────────────────────────────────────────────────────────
   Блоки информационных страниц. Добавлено 04.09.2026.
   Верстается короткой разметкой с этими классами — инлайн-стили
   в тексты страниц не вписывать, иначе правка размера или цвета
   снова превратится в шесть ручных переписываний.
   ───────────────────────────────────────────────────────────── */

.p-content .info-hero,
#tab-description .info-hero {
    max-width: none;
    background: #715ecc;
    border-radius: 8px;
    padding: 24px 28px;
    margin: 0 0 24px;
    color: #fff;
}

.p-content .info-hero > *,
#tab-description .info-hero > * {
    max-width: none;
    color: #fff;
}

.p-content .info-hero__title,
#tab-description .info-hero__title {
    font-size: 22px;
    line-height: 30px;
    font-weight: 600;
    margin: 0 0 6px;
}

.p-content .info-hero__sub,
#tab-description .info-hero__sub {
    font-size: 15px;
    line-height: 22px;
    margin: 0;
    opacity: .88;
}

/* Ряд плиток. Ширину задаёт сама плитка — на узкий экран
   перестраивается без правил под каждое разрешение. */
.p-content .info-grid,
#tab-description .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin: 0 0 24px;
    max-width: none;
}

.p-content .info-card,
#tab-description .info-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 0 1px #eaedf7;
    padding: 20px;
    max-width: none;
}

.p-content .info-card > *,
#tab-description .info-card > * {
    max-width: none;
}

.p-content .info-card > :last-child,
#tab-description .info-card > :last-child {
    margin-bottom: 0;
}

/* Оттенки. Роль, а не украшение: лиловый — «о чём страница»,
   песочный — «как связаться», зелёный — «что уже сделано». */
.p-content .info-card--accent,
#tab-description .info-card--accent {
    background: #f2f0fb;
    box-shadow: 0 0 0 1px #ddd7f4;
}

.p-content .info-card--warm,
#tab-description .info-card--warm {
    background: #fdf3e7;
    box-shadow: 0 0 0 1px #f5e2c8;
}

.p-content .info-card--ok,
#tab-description .info-card--ok {
    background: #eef8f1;
    box-shadow: 0 0 0 1px #cfe9d8;
}

.p-content .info-card__title,
#tab-description .info-card__title {
    font-size: 17px;
    line-height: 24px;
    font-weight: 600;
    color: #222;
    margin: 0 0 10px;
}

/* Пара «подпись — значение». Подпись мелкая серая,
   значение крупное тёмное: сверяемый факт виден первым. */
.p-content .info-pair,
#tab-description .info-pair {
    margin: 0 0 12px;
}

.p-content .info-pair:last-child,
#tab-description .info-pair:last-child {
    margin-bottom: 0;
}

.p-content .info-pair__k,
#tab-description .info-pair__k {
    display: block;
    font-size: 13px;
    line-height: 18px;
    color: #768292;
    margin-bottom: 2px;
}

.p-content .info-pair__v,
#tab-description .info-pair__v {
    display: block;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #222;
    font-variant-numeric: tabular-nums;
}

/* Шаги процедуры. */
.p-content .info-steps,
#tab-description .info-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 0 0 16px;
    max-width: none;
}

.p-content .info-step,
#tab-description .info-step {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 0 1px #eaedf7;
    padding: 16px;
}

.p-content .info-step__n,
#tab-description .info-step__n {
    display: block;
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #715ecc;
    margin-bottom: 6px;
}

.p-content .info-step p,
#tab-description .info-step p {
    margin: 0;
    font-size: 15px;
    line-height: 23px;
}

/* Сноска под блоком. */
.p-content .info-note,
#tab-description .info-note {
    font-size: 14px;
    line-height: 22px;
    color: #768292;
    margin: -8px 0 24px;
}

/* Значки платёжных систем. */
.p-content .info-pay,
#tab-description .info-pay {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin: 0 0 16px;
    max-width: none;
}

/* Высота у каждого знака своя: Visa и Stripe — словесные,
   Mastercard — круги с подписью под ними. При равной высоте
   Mastercard оптически проваливается, а Visa нависает. */
.p-content .info-pay img,
#tab-description .info-pay img {
    width: auto;
    height: 28px;
}

.p-content .info-pay img.info-pay__mark,
#tab-description .info-pay img.info-pay__mark {
    height: 42px;
}

.p-content .info-pay,
#tab-description .info-pay {
    gap: 24px;
}

@media (max-width: 767px) {

    .p-content .info-hero,
    #tab-description .info-hero {
        padding: 20px;
        margin-bottom: 20px;
    }

    .p-content .info-hero__title,
    #tab-description .info-hero__title {
        font-size: 19px;
        line-height: 26px;
    }

    .p-content .info-grid,
    #tab-description .info-grid,
    .p-content .info-steps,
    #tab-description .info-steps {
        gap: 12px;
    }

    /* Вложенная плитка на телефоне теряет фон и отступы:
       иначе поля складываются и строка сжимается до трёх слов. */
    .p-content .info-card .info-card,
    #tab-description .info-card .info-card {
        padding: 0;
        background: none;
        box-shadow: none;
        border-top: 1px solid #eaedf7;
        padding-top: 12px;
        border-radius: 0;
    }

    .p-content .info-card,
    #tab-description .info-card {
        padding: 16px;
    }
}

/* ─────────────────────────────────────────────────────────────
   Скрытые элементы интерфейса. Добавлено 05.09.2026.
   ───────────────────────────────────────────────────────────── */

/* Летающая корзина в правом нижнем углу. Дублирует корзину
   в шапке и закрывает содержимое страницы. */
#floatCart {
    display: none !important;
}

/* Сравнение товаров. Ассортимент штучный, сравнивать нечего;
   постраничные переключатели темы выключены, здесь закрыт
   остаток в мобильной шапке. */
.mm-compare,
#compare-total,
.btn-compare-top {
    display: none !important;
}

/* ─────────────────────────────────────────────────────────────
   Оформление заказа. Добавлено 05.09.2026.
   Шаблоны модуля SimpleCheckout не трогаются — раскладка
   собирается сеткой на существующей разметке.
   ───────────────────────────────────────────────────────────── */

/* Блоки — карточки того же вида, что на информационных страницах. */
.simplecheckout .simplecheckout-block {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 0 1px #eaedf7;
    padding: 20px;
    margin: 0 0 16px;
}

/* Заголовок блока: серая полоса Bootstrap заменяется обычным
   заголовком внутри карточки. */
.simplecheckout .checkout-heading,
.simplecheckout .panel-heading {
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 24px;
    font-weight: 600;
    color: #222;
}

/* Подпись над полем, а не слева: отбивка вправо съедала
   треть колонки под пустой жёлоб. */
.simplecheckout .form-group {
    margin: 0 0 16px;
}

.simplecheckout .form-group:last-child {
    margin-bottom: 0;
}

.simplecheckout-left-column .form-group > label.control-label,
.simplecheckout-right-column .form-group > label.control-label {
    display: block;
    float: none;
    width: 100%;
    text-align: left;
    padding: 0 0 6px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 500;
    color: #768292;
}

.simplecheckout-left-column .form-group > div[class*="col-"],
.simplecheckout-right-column .form-group > div[class*="col-"] {
    float: none;
    width: 100%;
    padding: 0;
}

/* Поля. Кегль 16: в поле высотой 44 четырнадцатый теряется,
   а на телефоне 16 ещё и снимает самопроизвольное увеличение. */
.simplecheckout-left-column .form-control,
.simplecheckout-right-column .form-control {
    height: 44px;
    max-width: 560px;
    padding: 0 14px;
    font-size: 16px;
    line-height: 44px;
    color: #222;
    background: #fff;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 0 0 1px #e4e9ef;
    transition: box-shadow .12s ease;
}

/* Тема задаёт кегль правилом вида input[type="text"].form-control —
   оно избирательнее, поэтому здесь тип поля указан явно. */
.simplecheckout-left-column input.form-control,
.simplecheckout-left-column select.form-control,
.simplecheckout-left-column textarea.form-control,
.simplecheckout-right-column input.form-control,
.simplecheckout-right-column select.form-control,
.simplecheckout-right-column textarea.form-control {
    font-size: 16px;
}

.simplecheckout-left-column textarea.form-control,
.simplecheckout-right-column textarea.form-control {
    height: auto;
    min-height: 88px;
    padding: 12px 14px;
    line-height: 24px;
}

.simplecheckout-left-column .form-control:focus,
.simplecheckout-right-column .form-control:focus {
    outline: none;
    box-shadow: 0 0 0 1px #715ecc, 0 0 0 4px rgba(113, 94, 204, .18);
}

/* Способы доставки и оплаты — строки, а не таблица. */
.simplecheckout-block .radio,
.simplecheckout-block .checkbox {
    margin: 0 0 10px;
    padding: 0;
}

.simplecheckout-block .radio:last-child,
.simplecheckout-block .checkbox:last-child {
    margin-bottom: 0;
}

/* Кнопка оформления — главное действие страницы. */
#buttons .btn,
.simplecheckout-button-block .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    padding: 0 20px;
    border-radius: 8px;
    font-size: 17px;
    font-weight: 600;
}

#buttons .simplecheckout-button-right,
#buttons .simplecheckout-button-left {
    float: none;
    width: 100%;
}

/* ── Широкий экран: форма слева, сводка справа и липкая ── */
@media (min-width: 992px) {

    .simplecheckout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 380px;
        gap: 0 24px;
        align-items: start;
    }

    /* Шаг раскрывается, чтобы его дети попали в общую сетку. */
    .simplecheckout-step {
        display: contents;
    }

    #simplecheckout_cart {
        grid-column: 2;
        grid-row: 1;
        position: sticky;
        top: 16px;
        margin-bottom: 16px;
    }

    #buttons {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
        align-self: start;
    }

    .simplecheckout-left-column {
        grid-column: 1;
        grid-row: 1;
    }

    .simplecheckout-right-column {
        grid-column: 1;
        grid-row: 2;
    }

    #simplecheckout_payment_form {
        grid-column: 1;
        grid-row: 3;
    }

    .simplecheckout-left-column,
    .simplecheckout-right-column {
        float: none;
        width: auto;
        padding: 0;
    }

    /* Миниатюры в сводке: у узбека они 250 точек и растягивают
       строку на четверть экрана. */
    #simplecheckout_cart img {
        width: 48px;
        height: 48px;
        object-fit: contain;
        background: #f7f8fb;
        border-radius: 6px;
    }

    #simplecheckout_cart td {
        padding: 10px 8px;
        font-size: 14px;
        line-height: 20px;
        vertical-align: middle;
    }
}

/* ─────────────────────────────────────────────────────────────
   Панель реквизитов. Добавлено 05.09.2026.
   Тёмная плашка для юридических сведений: продавец, платёжный
   агент, адрес возврата. Смысл — отделить проверяемые факты от
   объясняющего текста, чтобы модератор и покупатель находили их
   не читая страницу. Фон тёмный с лиловым отливом, из семейства
   баннера #715ecc, а не самостоятельный шестой цвет.
   ───────────────────────────────────────────────────────────── */

.p-content .info-legal,
#tab-description .info-legal {
    max-width: none;
    background: #211c38;
    border-radius: 8px;
    padding: 24px;
    margin: 0 0 24px;
    color: #fff;
}

.p-content .info-legal > *,
#tab-description .info-legal > * {
    max-width: none;
}

.p-content .info-legal__title,
#tab-description .info-legal__title {
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    color: #fff;
    margin: 0 0 16px;
}

/* Вложенные карточки. Не белые, а подсветка самой панели:
   так они читаются как её части, а не как чужие плитки. */
.p-content .info-legal__grid,
#tab-description .info-legal__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    max-width: none;
}

.p-content .info-legal__card,
#tab-description .info-legal__card {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    padding: 18px;
    max-width: none;
}

.p-content .info-legal__card > *,
#tab-description .info-legal__card > * {
    max-width: none;
}

.p-content .info-legal__card > :last-child,
#tab-description .info-legal__card > :last-child {
    margin-bottom: 0;
}

/* Внутри панели работают те же .info-card__title и .info-pair,
   что и на светлых плитках, — меняются только цвета. Разметка
   страниц от этого не раздваивается. */
.p-content .info-legal .info-card__title,
#tab-description .info-legal .info-card__title,
.p-content .info-legal p,
#tab-description .info-legal p {
    color: #fff;
}

.p-content .info-legal .info-pair__k,
#tab-description .info-legal .info-pair__k {
    color: #a9a2c6;
}

.p-content .info-legal .info-pair__v,
#tab-description .info-legal .info-pair__v {
    color: #fff;
}

.p-content .info-legal .info-note,
#tab-description .info-legal .info-note {
    color: #a9a2c6;
}

.p-content .info-legal a,
#tab-description .info-legal a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 767px) {

    .p-content .info-legal,
    #tab-description .info-legal {
        padding: 18px;
    }

    .p-content .info-legal__card,
    #tab-description .info-legal__card {
        padding: 14px;
    }
}

/* ─────────────────────────────────────────────────────────────
   Раздел-панель. Добавлено 05.09.2026.
   Страница правил перестаёт быть сплошной простынёй: каждый
   сценарий — отдельная панель с номером, внутри цветные плитки
   и серая сноска с оговоркой. Читатель находит свой случай,
   не читая соседние.
   ───────────────────────────────────────────────────────────── */

.p-content .info-section,
#tab-description .info-section {
    max-width: none;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0 0 1px #eaedf7;
    padding: 22px 24px;
    margin: 0 0 16px;
}

.p-content .info-section > *,
#tab-description .info-section > * {
    max-width: none;
}

.p-content .info-section > :last-child,
#tab-description .info-section > :last-child {
    margin-bottom: 0;
}

.p-content .info-section__title,
#tab-description .info-section__title {
    font-size: 18px;
    line-height: 26px;
    font-weight: 600;
    color: #222;
    margin: 0 0 14px;
}

/* Номер раздела. Отдельным цветом, чтобы нумерация читалась
   как навигация, а не как часть заголовка. */
.p-content .info-section__n,
#tab-description .info-section__n {
    color: #715ecc;
    margin-right: 6px;
}

/* Ряд плиток внутри панели прижимается к её низу — между
   панелями расстояние держит сама панель. */
.p-content .info-section .info-grid,
#tab-description .info-section .info-grid {
    margin-bottom: 16px;
}

.p-content .info-section .info-grid:last-child,
#tab-description .info-section .info-grid:last-child {
    margin-bottom: 0;
}

/* Сноска-оговорка под содержимым панели. */
.p-content .info-section .info-note,
#tab-description .info-section .info-note {
    margin: 14px 0 0;
}

/* ─────────────────────────────────────────────────────────────
   Переход на соседнюю страницу правил. Стоит в самом низу:
   дочитал одну — видно, куда идти дальше.
   ───────────────────────────────────────────────────────────── */

.p-content .info-next,
#tab-description .info-next {
    max-width: none;
    font-size: 14px;
    line-height: 22px;
    color: #768292;
    margin: 24px 0 0;
}

.p-content .info-next a,
#tab-description .info-next a {
    color: #715ecc;
    font-weight: 600;
}

@media (max-width: 767px) {

    .p-content .info-section,
    #tab-description .info-section {
        padding: 18px;
    }
}

/* Подзаголовок внутри панели. Добавлено 05.09.2026: на «Доставке
   и оплате» разделы делятся дальше — стоимость, сроки, способы. */

.p-content .info-section h3,
#tab-description .info-section h3 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #222;
    margin: 22px 0 8px;
}

.p-content .info-section__title + h3,
#tab-description .info-section__title + h3 {
    margin-top: 0;
}

/* Таблица внутри панели: на узком экране прокручивается сама,
   а не растягивает страницу. */
.p-content .info-section table,
#tab-description .info-section table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
}

/* ─────────────────────────────────────────────────────────────
   Подвал. Переделано 05.09.2026.
   Было: три колонки ссылок, пустая четвёртая (отсюда дыра
   посередине) и справа серая стена текста, в которой рядом
   стоят почта, телефон, режим работы, реквизиты и платёжный
   агент — всё одним кеглем и одним цветом.
   Стало: колонки без дыры, контакты — отдельной карточкой,
   подписи мелкие серые, значения крупные тёмные.
   ───────────────────────────────────────────────────────────── */

/* Пустая колонка настроек не должна занимать место. Ищем ту,
   внутри которой нет списка ссылок, — не по порядку, чтобы
   правка настроек ничего не сломала. */
footer .f-links > div:not(:has(ul)) {
    display: none;
}

@media (min-width: 992px) {

}

/* Контакты — карточка, как отдельный предмет, а не хвост списка. */
footer .footer-contact > ul {
    background: #fff;
    border: 1px solid #e6e9f2;
    border-radius: 12px;
    padding: 20px 22px;
    margin: 0;
}

/* Подпись: мелкая серая. Значения внутри несут собственный
   цвет из настроек и остаются тёмными. */
footer .footer-contact > ul > li {
    font-size: 13px;
    line-height: 18px;
    color: #768292;
    margin-bottom: 2px;
}

footer .footer-contact > ul > li span,
footer .footer-contact > ul > li div {
    font-size: 16px;
    line-height: 24px;
}

/* Обратная связь — кнопка, а не ссылка в общем потоке. */
footer .footer-contact a[onclick] {
    display: inline-block;
    margin-top: 6px;
    padding: 9px 16px;
    border: 1px solid #cfe0d6;
    border-radius: 8px;
    background: #f2f9f5;
}

footer .footer-contact a[onclick] span {
    font-size: 14px !important;
}

@media (max-width: 991px) {

    footer .footer-contact > ul {
        margin-top: 16px;
    }
}

/* ─────────────────────────────────────────────────────────────
   Горизонтальный сдвиг страницы. Исправлено 05.09.2026.
   В теме стоит html { width: 100vw }. Единица vw считает ширину
   окна ВМЕСТЕ с полосой прокрутки, поэтому на любой странице,
   которая прокручивается вниз, страница оказывается шире окна
   ровно на толщину полосы — и уезжает вбок. Заметно это не на
   мониторе, а на телефоне, где такой сдвиг Google засчитывает
   как непригодность для мобильных.
   Корзина тут ни при чём: она position:fixed и в прокрутку
   документа не попадает.
   ───────────────────────────────────────────────────────────── */

html {
    width: auto;
}

/* Колонки ссылок разложены в две подколонки, поэтому длинные
   названия переносятся на две строки и почти касаются соседа:
   между «Политикой конфиденциальности» и «Публичной офертой»
   оставалось 6 точек. Добавлено 05.09.2026. */

footer .f-links ul li {
    margin-bottom: 8px;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}

/* ─────────────────────────────────────────────────────────────
   Разделы подвала — обрамлённые блоки, как панели на страницах.
   Добавлено 06.09.2026. Раньше это были голые колонки на общем
   сером фоне, и подвал читался как одна каша.
   ───────────────────────────────────────────────────────────── */

footer .f-links > div {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 0 0 1px #e6e9f2;
    padding: 20px 22px;
    margin-bottom: 16px;
}

footer .f-links .title-f {
    margin-top: 0;
}

@media (min-width: 992px) {

    footer .f-links {
        display: flex;
        gap: 16px;
        align-items: stretch;
    }

    footer .f-links > div {
        width: auto;
        flex: 1 1 0;
        margin-bottom: 0;
    }
}

/* ─────────────────────────────────────────────────────────────
   Кнопка обратного звонка — снята один в один с узбека:
   значок 34×34 в белом квадрате со скруглением 12 и мягкой
   тенью, глиф синий, текст зелёный. Отменяет прежнюю рамку.
   ───────────────────────────────────────────────────────────── */

footer .footer-contact a.fc-callback {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: none;
    text-decoration: none;
}

footer .footer-contact a.fc-callback .fc-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: none;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .14);
    box-shadow: 0 6px 18px rgba(17, 24, 39, .08);
    color: #0b5bd3;
    font-size: 16px !important;
    line-height: 1 !important;
}

footer .footer-contact a.fc-callback .fc-txt {
    color: #53A974;
    font-weight: 600;
    font-size: 14px !important;
    line-height: 20px !important;
}

/* Доводка блоков подвала, 06.09.2026.

   1. Коробки ссылок тянулись по высоте карточки контактов и
      на две трети пустовали. Прижимаем весь блок ссылок к верху
      — тогда коробки равны между собой, но не карточке.
   2. Списки шли в две подколонки. Пока колонка была во всю
      ширину, это работало; в коробке подколонка получается
      130 точек, и названия рвутся на три строки. Ставим одну. */

@media (min-width: 992px) {

    footer .f-links {
        align-self: flex-start;
    }
}

footer .f-links ul.two-c-pc {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
}

/* На телефоне коробки шли встык к краям экрана — рамка упиралась
   в границу окна. Отступаем от краёв. 06.09.2026. */

@media (max-width: 991px) {

    /* Колонки темы плавающие: при width:auto они ужимаются по
       содержимому и получаются разной ширины. Считаем явно. */
    footer .f-links > div {
        width: calc(100% - 30px);
        margin-left: 15px;
        margin-right: 15px;
    }
}

/* Карточка контактов на телефоне была на 5 точек шире коробок
   выше — у её колонки другой внутренний отступ. Выравниваем. */

@media (max-width: 991px) {

    footer .footer-contact > ul {
        margin-left: 5px;
        margin-right: 5px;
    }
}

/* ─────────────────────────────────────────────────────────────
   Оформление заказа. Переработано 06.09.2026.

   Три беды, все померены, а не на глаз.

   1. Сетку я задал ещё 4 сентября, но колонки формы внутри неё
      остались плавающими блоками темы по 52 % и 46 % ширины —
      539 и 477 точек в ячейке шириной 1036. Отсюда пустота на
      пол-экрана посередине.
   2. Таблица товара в сводке шире своей колонки на 271 точку и
      прокручивалась вбок: из 611 точек 207 занимала колонка
      «Кол-во». Покупатель не видел ни количества, ни суммы.
   3. Кнопка заказа стояла в правой колонке напротив середины
      формы, хотя форма тянется ещё на 600 точек ниже.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

    .simplecheckout {
        grid-template-columns: minmax(0, 1fr) 360px;
        align-items: start;
    }

    /* Колонки темы разворачиваем во всю ширину своей ячейки. */
    .simplecheckout > .simplecheckout-step > .simplecheckout-left-column,
    .simplecheckout > .simplecheckout-step > .simplecheckout-right-column {
        width: 100%;
        float: none;
        grid-column: 1;
    }

    .simplecheckout > .simplecheckout-step > .simplecheckout-left-column {
        grid-row: 1;
    }

    .simplecheckout > .simplecheckout-step > .simplecheckout-right-column {
        grid-row: 2;
    }

    .simplecheckout > .simplecheckout-step > #simplecheckout_payment_form {
        grid-column: 1;
        grid-row: 3;
    }

    .simplecheckout > #simplecheckout_bottom {
        grid-column: 1;
        grid-row: 4;
    }

    /* Кнопка заказа — в конце формы, куда покупатель и приходит. */
    .simplecheckout > #buttons {
        grid-column: 1;
        grid-row: 5;
    }

    /* Сводка держится рядом всю прокрутку. */
    .simplecheckout > .simplecheckout-step > #simplecheckout_cart {
        grid-column: 2;
        grid-row: 1 / 6;
        position: sticky;
        top: 16px;
    }
}

/* ── Товар в сводке ──────────────────────────────────────────
   Строка таблицы перекладывается в три ячейки: снимок,
   название с количеством, сумма. Модель, отдельная цена и
   пустой хвост убираются — в колонке 360 точек им не место.
   Итоговые суммы лежат отдельными блоками, их это не трогает. */

#simplecheckout_cart .table-responsive {
    overflow: visible;
}

#simplecheckout_cart table.simplecheckout-cart {
    width: 100%;
    table-layout: auto;
}

#simplecheckout_cart table.simplecheckout-cart thead {
    display: none;
}


#simplecheckout_cart table.simplecheckout-cart tbody td {
    border: 0;
    padding: 0;
    vertical-align: middle;
}

#simplecheckout_cart table.simplecheckout-cart tbody td:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / 3;
}

#simplecheckout_cart table.simplecheckout-cart tbody td:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
    text-align: left;
    line-height: 20px;
}

/* модель, отдельная цена и пустая служебная ячейка */
#simplecheckout_cart table.simplecheckout-cart tbody td:nth-child(3),
#simplecheckout_cart table.simplecheckout-cart tbody td:nth-child(5),
#simplecheckout_cart table.simplecheckout-cart tbody td:nth-child(7) {
    display: none;
}

#simplecheckout_cart table.simplecheckout-cart tbody td:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
    text-align: left;
}

#simplecheckout_cart table.simplecheckout-cart tbody td:nth-child(6) {
    grid-column: 3;
    grid-row: 1 / 3;
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
}

#simplecheckout_cart table.simplecheckout-cart tbody td img {
    width: 56px;
    height: auto;
}

#simplecheckout_cart table.simplecheckout-cart tbody input[name^="quantity"] {
    width: 44px;
    padding: 0 4px;
    text-align: center;
}

/* ── Телефон ─────────────────────────────────────────────────
   На узком экране 40 точек из 375 съедали два вложенных
   отступа: 20 у блока и ещё 10 у его содержимого. Поле
   получалось 265 при карточке 325. */

@media (max-width: 991px) {

    .simplecheckout .simplecheckout-block {
        padding: 14px;
    }

    .simplecheckout .simplecheckout-block-content {
        padding: 0;
    }
}

/* Доводка ширин, 06.09.2026.

   У колонки темы обнаружился max-width: 900px и правый отступ —
   поэтому форма не занимала свою ячейку целиком, а кнопка,
   которая этих ограничений не имела, торчала на 156 точек шире
   полей над ней.

   Ширину формы делаю 700, а не «всё свободное место»: поле ввода
   длиной в тысячу точек читается плохо и выглядит небрежно.
   Пара «форма + сводка» встаёт по центру. */

@media (min-width: 992px) {

    .simplecheckout {
        grid-template-columns: minmax(0, 700px) 360px;
        justify-content: center;
        column-gap: 32px;
    }

    .simplecheckout > .simplecheckout-step > .simplecheckout-left-column,
    .simplecheckout > .simplecheckout-step > .simplecheckout-right-column {
        max-width: none;
        margin-right: 0;
    }
}

/* Товар в сводке — переделка, 06.09.2026.

   Первый заход не сработал по двум причинам, обе видны только
   в замере.

   1. Я выбирал ячейки по порядковому номеру, а у темы внутри
      блока лежит собственный <style>, который идёт после моего
      файла и при равной силе побеждает. У ячеек есть классы —
      выбираю по ним, это и надёжнее, и читается.
   2. Таблица осталась таблицей: строку я сделал сеткой, а
      table и tbody нет. Ширина колонок считалась по кругу, и
      средняя колонка схлопнулась в ноль — название налезало
      на сумму. */

#simplecheckout_cart table.simplecheckout-cart,
#simplecheckout_cart table.simplecheckout-cart tbody {
    display: block;
    width: 100%;
}

#simplecheckout_cart table.simplecheckout-cart tbody tr {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 6px 10px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #eef0f6;
}

#simplecheckout_cart table.simplecheckout-cart td.image {
    grid-column: 1;
    grid-row: 1 / 3;
}

#simplecheckout_cart table.simplecheckout-cart td.name {
    grid-column: 2;
    grid-row: 1;
    text-align: left;
    line-height: 20px;
}

#simplecheckout_cart table.simplecheckout-cart td.quantity {
    grid-column: 2;
    grid-row: 2;
    text-align: left;
}

#simplecheckout_cart table.simplecheckout-cart td.total {
    grid-column: 3;
    grid-row: 1 / 3;
    text-align: right;
    font-weight: 600;
    white-space: nowrap;
}

/* Модель и кнопка удаления скрыты самой темой; цену убираем мы —
   при количестве 1 она дублирует сумму справа. */
#simplecheckout_cart table.simplecheckout-cart td.model,
#simplecheckout_cart table.simplecheckout-cart td.price,
#simplecheckout_cart table.simplecheckout-cart td.remove {
    display: none !important;
}

/* Мелочь: сумма прижималась к последней строке названия.
   Ставим её по верхнему краю и даём названию воздух справа. */

#simplecheckout_cart table.simplecheckout-cart tbody tr {
    column-gap: 14px;
}

#simplecheckout_cart table.simplecheckout-cart td.name {
    padding-right: 4px;
}

#simplecheckout_cart table.simplecheckout-cart td.total {
    align-self: start;
    padding-top: 2px;
}

/* ═══════════════════════════════════════════════════════════
   Оформление заказа: стили перенесены из сборщика тегов в тему.
   06.09.2026, пересобрано в тот же день.

   В GTM весь скин лежал под `@media (max-width: 767px)` — он и
   задумывался только для телефона. Из-за этого десктоп оставался
   со штатным видом темы: серые плашки заголовков, белые карточки
   с обводкой, поля 44 точки. Разделил по смыслу: оформление
   работает на любой ширине, мобильная раскладка — под условием.
   ═══════════════════════════════════════════════════════════ */

body.route-checkout-simplecheckout #simplecheckout_form_0 {
    background: #f8fafc;
    padding: 10px;
    border-radius: 16px;
}

body.route-checkout-simplecheckout .simplecheckout-block .checkout-heading.panel-heading {
    background: none !important;
    border: none !important;
    color: var(--sc-text) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    padding: 15px 0 10px 0 !important;
    text-transform: none !important;
    display: flex;
    align-items: center;
}

body.route-checkout-simplecheckout .simplecheckout-block .checkout-heading.panel-heading:before {
    content: "";
    width: 6px;
    height: 18px;
    background: var(--sc-blue);
    margin-right: 10px;
    border-radius: 10px;
}

body.route-checkout-simplecheckout .simplecheckout-block {
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 10px !important;
    background: transparent !important;
}

body.route-checkout-simplecheckout .simplecheckout input.form-control, body.route-checkout-simplecheckout .simplecheckout select.form-control, body.route-checkout-simplecheckout .simplecheckout textarea.form-control {
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    height: 46px !important;
    box-shadow: none !important;
    background: #ffffff !important;
}

body.route-checkout-simplecheckout .simplecheckout-button-block .form-check {
    background: #fff;
    border: 1px solid var(--sc-border);
    padding: 12px 15px !important;
    border-radius: 12px;
    justify-content: flex-start !important; 
    margin: 20px 0 !important;
}

body.route-checkout-simplecheckout .simplecheckout-button-block .form-check-input {
    accent-color: var(--sc-blue); 
    width: 22px !important;
    height: 22px !important;
    cursor: pointer;
}

body.route-checkout-simplecheckout #buttons {
    border: none !important;
    padding: 0 !important;
    margin-top: 10px !important;
}

body.route-checkout-simplecheckout .simplecheckout-button-right {
    float: none !important;
    width: 100% !important;
    text-align: center !important;
}

body.route-checkout-simplecheckout #simplecheckout_button_confirm {
    display: block !important;
    width: 100% !important;
    max-width: 320px;
    margin: 0 auto !important;
    height: 60px !important;
    line-height: 60px !important;
    background: #34a853 !important; 
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    border: none !important;
    border-radius: 14px !important;
    text-transform: uppercase;
    text-align: center;
    box-shadow: 0 4px 0 #2d8f47 !important; 
    transition: none !important; 
    position: relative;
    text-decoration: none !important;
    cursor: pointer;
    
    
    touch-action: manipulation !important; 
    -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}

body.route-checkout-simplecheckout #simplecheckout_button_confirm:active {
    background-color: #2d8f47 !important;
    transform: translateY(3px) !important;
    box-shadow: 0 1px 0 #2d8f47 !important;
  
    -webkit-user-select: none;  
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    
    
    -webkit-touch-callout: none; 
    
    
    touch-action: manipulation;
}

body.route-checkout-simplecheckout .simplecheckout-block-content .radio {
    background: #fff;
    border: 1px solid var(--sc-border);
    padding: 12px 15px !important;
    border-radius: 12px;
    margin-bottom: 8px !important;
}

body.route-checkout-simplecheckout .simplecheckout-block-content .radio label {
    font-weight: 600 !important;
    font-size: 14px !important;
    display: flex;
    align-items: center;
}

body.route-checkout-simplecheckout .simplecheckout-block-content .radio input[type="radio"] {
    margin-right: 10px !important;
    width: 18px;
    height: 18px;
    accent-color: var(--sc-blue);
}

body.route-checkout-simplecheckout .form-group label {
    margin-bottom: 5px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--sc-muted);
}

body.route-checkout-simplecheckout #simplecheckout_shipping .simplecheckout-block-content > p, body.route-checkout-simplecheckout #simplecheckout_shipping .simplecheckout-block-content b {
    display: none !important;
}

body.route-checkout-simplecheckout .simplecheckout-button-block, body.route-checkout-simplecheckout #buttons, body.route-checkout-simplecheckout .buttons {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.route-checkout-simplecheckout .simplecheckout-button-block .form-check {
    margin-bottom: 25px !important;
    background: #ffffff; 
    border: 1px solid var(--sc-border);
}

body.route-checkout-simplecheckout #simplecheckout_shipping {
    margin-bottom: 5px !important;
}

body.route-checkout-simplecheckout #button-confirm, body.route-checkout-simplecheckout .simplecheckout-button-confirm, body.route-checkout-simplecheckout [data-payment-button="true"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.route-checkout-simplecheckout {
    --sc-blue:    #4285f4;
    --sc-green:   #34a853;
    --sc-yellow:  #fbbc05;
    --sc-red:     #ea4335;
    --sc-border:  #e5e7eb;
    --sc-text:    #111827;
    --sc-muted:   #6b7280;
    --sc-bg:      #ffffff;
}

body.route-checkout-simplecheckout #payment-and-delivery .radio label {
    display: flex !important;
    align-items: center !important;
    padding: 12px 15px !important;
    margin: 0 !important; 
    cursor: pointer;
    width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;      
    background: none !important;  
    min-height: auto !important;
}

body.route-checkout-simplecheckout #payment-and-delivery .radio {
    border: 1px solid var(--sc-border);
    border-radius: 12px;
    background: #ffffff;
    margin-bottom: 10px;
    overflow: hidden;
}

body.route-checkout-simplecheckout #payment-and-delivery input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid var(--sc-blue) !important;
    border-radius: 50% !important;
    margin: 0 12px 0 0 !important;
    position: relative !important;
    flex-shrink: 0 !important;
    background: #fff !important;
}

body.route-checkout-simplecheckout #payment-and-delivery input[type="radio"]:checked::before {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 10px; height: 10px;
    background: var(--sc-blue);
    border-radius: 50%;
}

body.route-checkout-simplecheckout #payment-and-delivery label img {
    margin-left: 10px !important;
    max-height: 25px !important;
    width: auto !important;
}

body.route-checkout-simplecheckout #simplecheckout_shipping_address .row-shipping_address_firstname, body.route-checkout-simplecheckout #simplecheckout_shipping_address .row-shipping_address_lastname { display: none !important;
}

body.route-checkout-simplecheckout .container-module { display: none !important;
}

/* ── только узкий экран ── */

@media (max-width: 767px) {

body.route-checkout-simplecheckout .footer-top {display:none!important;
}

body.route-checkout-simplecheckout #floatCart {display:none!important;
}

body.route-checkout-simplecheckout .grecaptcha-badge {display:none!important;
}

body.route-checkout-simplecheckout .copyright__payments {display:none!important;
}

body.route-checkout-simplecheckout .row-customer_email {
    display: none !important;
}

body.route-checkout-simplecheckout .col-sm-8, body.route-checkout-simplecheckout .col-sm-4 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

html { -webkit-text-size-adjust: 100%;
}

body.route-checkout-simplecheckout #simplecheckout_form_0 input, body.route-checkout-simplecheckout #simplecheckout_form_0 select, body.route-checkout-simplecheckout #simplecheckout_form_0 textarea, body.route-checkout-simplecheckout .simplecheckout input, body.route-checkout-simplecheckout .simplecheckout select, body.route-checkout-simplecheckout .simplecheckout textarea {
        font-size: 16px !important; 
        line-height: 1.2 !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total, body.route-checkout-simplecheckout #simplecheckout_cart #total_sub_total, body.route-checkout-simplecheckout #simplecheckout_cart #total_shipping, body.route-checkout-simplecheckout #simplecheckout_cart #total_total, body.route-checkout-simplecheckout #simplecheckout_cart colgroup, body.route-checkout-simplecheckout #simplecheckout_cart thead {
    display: none !important;
    visibility: hidden !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

body.route-checkout-simplecheckout #sc-final-mobile-cart {
    display: none;
    width: 100% !important;
    margin: 10px 0 20px 0 !important;
    position: relative !important;
    z-index: 10;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

body.route-checkout-simplecheckout .sc-card {
    display: flex; 
    gap: 12px; 
    padding: 12px;
    border: 1px solid var(--sc-border); 
    border-radius: 12px;
    background: var(--sc-bg);
    position: relative; 
    margin-bottom: 10px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    transform: translate3d(0,0,0);
    align-items: center;
}

body.route-checkout-simplecheckout .sc-card:before {
    content: ""; position: absolute; left: 0; top: 12px; bottom: 12px;
    width: 4px; border-radius: 0 4px 4px 0;
    background: var(--sc-blue);
}

body.route-checkout-simplecheckout .sc-items .sc-card:nth-child(3n+2):before { background: var(--sc-green);
}

body.route-checkout-simplecheckout .sc-items .sc-card:nth-child(3n+3):before { background: var(--sc-yellow);
}

body.route-checkout-simplecheckout .sc-card img {
    width: 70px; height: 70px; object-fit: contain; flex: 0 0 auto;
    border-radius: 8px; border: 1px solid rgba(15,23,42,0.06);
}

body.route-checkout-simplecheckout .sc-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px;
}

body.route-checkout-simplecheckout .sc-name {
    font-size: 13px; font-weight: 700; line-height: 1.25; color: var(--sc-text);
    padding-right: 20px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

body.route-checkout-simplecheckout .sc-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px;
}

body.route-checkout-simplecheckout .sc-price { display: flex; flex-direction: column; justify-content: center;
}

body.route-checkout-simplecheckout .sc-price-old del { 
    color: var(--sc-muted); 
    font-size: 11px; 
    text-decoration: line-through; 
    display: block; 
    line-height: 1;
}

body.route-checkout-simplecheckout .sc-price-new { 
    color: var(--sc-text); 
    font-size: 15px; 
    font-weight: 800; 
    line-height: 1.2;
}

body.route-checkout-simplecheckout .sc-qty {
    display: flex; align-items: center; background: rgba(66,133,244,0.06);
    border: 1px solid rgba(66,133,244,0.15); border-radius: 10px; padding: 2px;
}

body.route-checkout-simplecheckout .sc-qty button {
    width: 32px; height: 32px; border: none; background: transparent;
    font-size: 18px; font-weight: bold; color: var(--sc-blue);
    display: flex; align-items: center; justify-content: center;
}

body.route-checkout-simplecheckout .sc-qty input {
    width: 28px; border: none; background: transparent;
    text-align: center; font-weight: 800; font-size: 14px; color: var(--sc-text);
    padding: 0;
}

body.route-checkout-simplecheckout .sc-remove {
    position: absolute; top: 6px; right: 6px;
    width: 24px; height: 24px; background: transparent; border: none;
    font-size: 16px; color: #d1d5db; display: flex; align-items: center; justify-content: center;
}

body.route-checkout-simplecheckout .sc-totals {
    background: #fdfdfd; border: 1px dashed var(--sc-green);
    border-radius: 12px; margin-top: 10px; padding: 12px 16px;
}

body.route-checkout-simplecheckout .sc-line { display: flex; justify-content: space-between; font-weight: 800; font-size: 16px;
}

body.route-checkout-simplecheckout .sc-line span:last-child { color: var(--sc-green);
}

body.route-checkout-simplecheckout #sc-fix-text {
    position: relative !important;
    display: inline-block !important;
    top: 2px !important; 
    font-size: 14px !important;
    line-height: 1.2 !important;
    color: var(--sc-text) !important;
}

}

/* ─────────────────────────────────────────────────────────────
   Счётчик количества в десктопной сводке — как на телефоне.
   06.09.2026.

   Было: две сплошные фиолетовые кнопки 51×44 и красный квадрат
   удаления — три лопаты на 191 точку, самый громкий элемент
   всей страницы оформления. На телефоне то же самое сделано
   спокойной пилюлей: светло-синяя подложка, синие знаки, тихий
   крестик. Переношу оттуда значения один в один.

   Отступление одно: на телефоне крестик вынесен в угол
   карточки, а здесь он лежит в той же группе, что и «плюс», —
   разделить их можно только правкой разметки модуля. Поэтому
   отделяю его чертой внутри группы.
   ───────────────────────────────────────────────────────────── */

#simplecheckout_cart td.quantity .input-group {
    display: inline-flex;
    align-items: center;
    width: auto;
    background: rgba(66, 133, 244, .06);
    border: 1px solid rgba(66, 133, 244, .15);
    border-radius: 10px;
    padding: 2px;
}

#simplecheckout_cart td.quantity .input-group-btn {
    display: inline-flex;
    width: auto;
}

#simplecheckout_cart td.quantity .btn {
    width: 32px;
    height: 32px;
    min-width: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    color: #4285f4;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

#simplecheckout_cart td.quantity .btn:hover,
#simplecheckout_cart td.quantity .btn:focus,
#simplecheckout_cart td.quantity .btn:active {
    background: rgba(66, 133, 244, .12);
    color: #4285f4;
    box-shadow: none;
}

#simplecheckout_cart td.quantity input.form-control {
    width: 36px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    color: #111827;
}

/* Удаление — тихое, отделено чертой. */
#simplecheckout_cart td.quantity .btn-danger {
    margin-left: 4px;
    padding-left: 4px;
    border-left: 1px solid rgba(66, 133, 244, .15);
    border-radius: 0;
    width: 30px;
    color: #d1d5db;
    background: transparent;
}

#simplecheckout_cart td.quantity .btn-danger:hover,
#simplecheckout_cart td.quantity .btn-danger:focus {
    color: #ea4335;
    background: rgba(234, 67, 53, .08);
}

/* Размеры не поддались с первого раза: высоту кнопки держали
   min-height и line-height по 44 точки, а ширину поля —
   min-width: 50. Одной высоты и ширины мало, нужно снимать
   и ограничители. 06.09.2026. */

#simplecheckout_cart td.quantity .btn,
#simplecheckout_cart td.quantity .input-group-btn > .btn {
    min-height: 32px;
    line-height: 32px;
}

#simplecheckout_cart td.quantity .input-group-btn {
    height: 32px;
}

#simplecheckout_cart td.quantity input[type="text"].form-control {
    width: 36px;
    min-width: 36px;
    height: 32px;
    padding: 0;
}

/* ─────────────────────────────────────────────────────────────
   Старая цена в десктопной сводке — как на телефоне. 06.09.2026.

   Раньше я прятал ячейку цены целиком: в колонке 360 точек она
   дублировала сумму справа. Но вместе с дублем пропадала и
   зачёркнутая старая цена, а это довод к покупке ровно в тот
   момент, когда человек решается платить. На телефоне она есть,
   значит и здесь должна быть.

   Строка теперь в три ряда: название, цена, счётчик. Снимок и
   сумма занимают все три.
   ───────────────────────────────────────────────────────────── */

#simplecheckout_cart table.simplecheckout-cart tbody td.image {
    grid-row: 1 / 4;
}

#simplecheckout_cart table.simplecheckout-cart tbody td.price {
    display: block !important;
    grid-column: 2;
    grid-row: 2;
    text-align: left;
    padding: 0;
    border: 0;
}

/* Старая цена — только когда рядом есть новая. Если скидки нет,
   в ячейке один блок, и он не должен оказаться зачёркнутым. */
#simplecheckout_cart table.simplecheckout-cart tbody td.price > div:first-child:not(:last-child) {
    color: #6b7280;
    font-size: 11px;
    line-height: 1;
    text-decoration: line-through;
}

#simplecheckout_cart table.simplecheckout-cart tbody td.price > div:last-child {
    color: #111827;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    text-decoration: none;
}

#simplecheckout_cart table.simplecheckout-cart tbody td.quantity {
    grid-row: 3;
}

#simplecheckout_cart table.simplecheckout-cart tbody td.total {
    grid-row: 1 / 4;
}

/* ═══════════════════════════════════════════════════════════
   Оформление заказа: сводка и блок кнопок. 06.09.2026.

   Три беды, все видны только на широком экране:
   1. Блок согласия пущен обтеканием влево и занимает 592 точки
      из 700 — галочке «Не перезванивать» остаётся 108, и её
      подпись рвётся по одному слову в строку.
   2. Сводка выглядела как три отдельные обведённые коробки:
      товар, потом каждая строка итогов со своей рамкой.
   3. Цена за штуку и сумма строки при количестве 1 показывают
      одно и то же число дважды.

   Мобильная раскладка не трогается: она собрана отдельным
   скином и заказчика устраивает.
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 992px) {

/* ── Блок кнопок: обе галочки в полную ширину, друг под другом ── */

body.route-checkout-simplecheckout #agreement_checkbox {
    float: none;
    width: 100%;
    display: block;
}

body.route-checkout-simplecheckout .simplecheckout-button-block .form-check {
    width: 100%;
    justify-content: flex-start;
    align-items: center;
    margin-top: 14px;
    margin-bottom: 18px;
}

body.route-checkout-simplecheckout .simplecheckout-button-block .form-check-label {
    width: auto;
    line-height: 1.35;
}

/* ── Сводка заказа: одна карточка вместо трёх коробок ── */

body.route-checkout-simplecheckout #simplecheckout_cart {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 18px 18px 16px;
    box-shadow: 0 2px 12px rgba(17, 24, 39, .06);
}

body.route-checkout-simplecheckout #simplecheckout_cart::before {
    content: "Ваш заказ";
    display: block;
    font-size: 16px;
    font-weight: 800;
    color: #111827;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #eef1f5;
}

body.route-checkout-simplecheckout #simplecheckout_cart .table-responsive,
body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart,
body.route-checkout-simplecheckout #simplecheckout_cart tbody,
body.route-checkout-simplecheckout #simplecheckout_cart tbody tr,
body.route-checkout-simplecheckout #simplecheckout_cart tbody td {
    border: 0;
    background: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart .table-responsive {
    margin: 0;
    overflow: visible;
}

/* ── Строка товара ── */


body.route-checkout-simplecheckout #simplecheckout_cart td.image {
    grid-area: 1 / 1 / 4 / 2;
    width: 64px;
    height: 64px;
    padding: 0;
    background: #f8fafc;
    border: 1px solid #eef1f5;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.name {
    grid-area: 1 / 2 / 2 / 3;
    padding: 0;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.name > a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.name > a:hover {
    color: #4285f4;
}

/* сумма строки — вверху справа, вровень с названием */
body.route-checkout-simplecheckout #simplecheckout_cart td.total {
    grid-area: 1 / 3 / 2 / 4;
    padding: 0;
    text-align: right;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 800;
    color: #111827;
}

/* цена за штуку — мелко и серым, с подписью, чтобы не читалась как дубль суммы */
body.route-checkout-simplecheckout #simplecheckout_cart td.price {
    grid-area: 2 / 2 / 3 / 4;
    padding: 0;
    text-align: left;
    font-size: 13px;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price::after {
    content: " за штуку";
    font-size: 12px;
    color: #9ca3af;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity {
    grid-area: 3 / 2 / 4 / 4;
    padding: 0;
    text-align: left;
}

/* ── Итоги ── */

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    text-align: left;
    padding: 7px 0;
    border: 0;
    background: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total > span:first-child {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total b {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.35;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-value {
    flex: 0 0 auto;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
    text-align: right;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-remove {
    display: none;
}

/* последняя строка итогов — «Итого». Ловим её по соседству со служебным
   полем, потому что селектора «последний с таким классом» в CSS нет:
   :last-of-type смотрит на тип элемента, а после итогов идут ещё div-ы. */


}

/* ─────────────────────────────────────────────────────────────
   Сводка заказа, доводка. 06.09.2026.

   Перенесённый из сборщика тегов скин снимает фон, рамку и тень
   у ВСЕХ блоков чекаута правилом с `!important` — форме так и
   надо, она лежит на общей канве. Но сводка должна читаться как
   отдельная карточка, поэтому здесь то же оружие: перебиваем
   точечно по идентификатору.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {


/* Название целиком, а не «Fascia…»: три строки вместо двух. */

/* «7000 за штуку» одной строкой, а не в два этажа. */
body.route-checkout-simplecheckout #simplecheckout_cart td.price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 6px;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price > div {
    display: inline;
}

/* Согласие с офертой — такая же белая плашка, как у «Не перезванивать»,
   чтобы две галочки не выглядели разнородными. */
body.route-checkout-simplecheckout #agreement_checkbox .checkbox {
    background: #fff;
    border: 1px solid var(--sc-border);
    border-radius: 12px;
    padding: 12px 15px;
    margin: 0;
}

body.route-checkout-simplecheckout #agreement_checkbox .checkbox label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    line-height: 1.35;
    margin: 0;
}

body.route-checkout-simplecheckout #agreement_checkbox .checkbox input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin: 0;
    flex: 0 0 auto;
    accent-color: var(--sc-blue);
    cursor: pointer;
}

}

/* ─────────────────────────────────────────────────────────────
   Галочка согласия с офертой. 06.09.2026.

   Тема ставит само поле ввода абсолютом со сдвигом влево — это
   бутстраповский приём для отступа под галочку. Когда строку
   переводишь в flex, поле остаётся вне потока и наезжает на
   первые буквы подписи: было видно «☐знакомился и принимаю».
   Лечится возвратом поля в поток; отступ теперь даёт сам flex.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

body.route-checkout-simplecheckout #agreement_checkbox .checkbox input[type="checkbox"] {
    position: static;
    margin-left: 0;
}

body.route-checkout-simplecheckout #agreement_checkbox,
body.route-checkout-simplecheckout #agreement_checkbox .checkbox,
body.route-checkout-simplecheckout #agreement_checkbox .checkbox label {
    text-align: left;
}


}

/* ─────────────────────────────────────────────────────────────
   Галочка согласия: висячий отступ вместо flex. 06.09.2026.

   Предыдущая попытка выстроить строку через flex не сработала:
   тема задаёт подписи `display: inline-block` правилом сильнее
   моего, и `gap` остался декорацией. Классический приём надёжнее
   и даёт то, чего flex здесь не даёт вовсе, — вторая строка
   выравнивается по тексту, а не заезжает под саму галочку.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

body.route-checkout-simplecheckout #agreement_checkbox .checkbox label {
    display: block !important;
    position: relative;
    padding-left: 34px;
    min-height: 22px;
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
}

body.route-checkout-simplecheckout #agreement_checkbox .checkbox input[type="checkbox"] {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
    width: 22px;
    height: 22px;
}

/* Крестик «убрать товар» — тихий, но заметный при наведении. */
body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger {
    color: #9ca3af;
    transition: color .15s;
}


}

/* ═══════════════════════════════════════════════════════════
   Выдвижная корзина в шапке. 06.09.2026.

   Приводится к тому же виду, что сводка заказа на оформлении:
   название товара — тёмный текст, а не синяя ссылка; счётчик —
   светло-синяя пилюля с теми же размерами, что на чекауте;
   удаление — тихий серый значок, краснеющий под курсором.

   Цвета кнопок НЕ трогаю: фиолетовый — фирменный цвет темы,
   менять его по всему сайту — отдельное решение, не моё.
   ═══════════════════════════════════════════════════════════ */

.header-cart-fix-right .header-cart-title {
    font-size: 17px;
    font-weight: 800;
    color: #111827;
}

.header-cart-fix-right .header-cart-product-name a {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
}


.header-cart-fix-right .header-cart-item-total {
    font-size: 15px;
    font-weight: 800;
    color: #111827;
}

.header-cart-fix-right .btn-link-delete {
    color: #9ca3af;
    transition: color .15s;
}

.header-cart-fix-right .btn-link-delete:hover {
    color: #ef4444;
}

/* ── Счётчик количества — один в один как в сводке заказа ── */

.header-cart-fix-right .ch-cart-quantity {
    display: inline-flex;
    align-items: center;
    width: auto;
    background: rgba(66, 133, 244, .06);
    border: 1px solid rgba(66, 133, 244, .15);
    border-radius: 10px;
    padding: 2px;
}

.header-cart-fix-right .ch-cart-quantity .input-btn {
    width: auto;
    display: inline-flex;
}

.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus {
    width: 30px;
    height: 30px;
    min-height: 30px;
    line-height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #4285f4;
    font-size: 17px;
    font-weight: 700;
}

.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus:hover,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus:hover {
    background: rgba(66, 133, 244, .10);
    border-radius: 8px;
}

.header-cart-fix-right .ch-cart-quantity input[type="text"].form-control,
.header-cart-fix-right .ch-cart-quantity input.form-control {
    width: 34px;
    min-width: 34px;
    height: 30px;
    padding: 0;
    text-align: center;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

/* строка «В корзине N товаров, на сумму» */
.header-cart-fix-right .header-cart-text-info {
    color: #6b7280;
    font-size: 14px;
}

/* ─────────────────────────────────────────────────────────────
   Корзина в шапке, доводка. 06.09.2026.

   Кнопки счётчика в теме нарисованы значками-стрелками
   (`<i class="fa fa-angle-right">`), а на оформлении заказа
   стоят плюс и минус. Подменяю сам символ, а не значок: так
   не важно, какая версия набора значков подключена.

   Цвет названия тема задаёт правилом сильнее моего, поэтому
   здесь без «важно» не обойтись.
   ───────────────────────────────────────────────────────────── */

.header-cart-fix-right .header-cart-product-name a {
    color: #111827 !important;
}

.header-cart-fix-right .header-cart-product-name a:hover {
    color: #4285f4 !important;
}

.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus .fa::before {
    content: "+";
    font-family: inherit;
    font-weight: 700;
    font-size: 18px;
}

.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus .fa::before {
    content: "\2212";
    font-family: inherit;
    font-weight: 700;
    font-size: 18px;
}

.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus .fa,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus .fa {
    color: inherit;
    line-height: 1;
}

/* ─────────────────────────────────────────────────────────────
   Корзина в шапке: кнопки. 06.09.2026, по решению заказчика.

   1. Главная кнопка была фиолетовой (фирменный цвет темы), а на
      оформлении заказа — зелёной. Одна и та же кнопка двух
      цветов на соседних шагах. Сведено к зелёной.
   2. «Перейти в корзину» вела туда же, куда «Оформить заказ»:
      страница корзины в этой сборке перебрасывает на оформление.
      Убрана вместе со своей колонкой, иначе на её месте осталась
      бы дыра в половину ряда; «Быстрый заказ» разведён на всю
      ширину.
   ───────────────────────────────────────────────────────────── */

.header-cart-fix-right .chm-btn.chm-btn-primary {
    background: #34a853;
    border-color: #34a853;
}

.header-cart-fix-right .chm-btn.chm-btn-primary:hover,
.header-cart-fix-right .chm-btn.chm-btn-primary:focus {
    background: #2d9247;
    border-color: #2d9247;
}

.header-cart-fix-right [class*="col-"]:has(> a.chm-btn-white) {
    display: none;
}

.header-cart-fix-right [class*="col-"]:has(> a.chm-btn-grey) {
    width: 100%;
    float: none;
}

/* ═══════════════════════════════════════════════════════════
   Окно «Быстрый заказ» (корзина покупок). 06.09.2026.

   Третье место, где живёт корзина, и единственное, которое мы
   до сих пор не трогали. Приводится к тому же виду, что сводка
   заказа и выдвижная корзина: тот же счётчик, та же зелёная
   главная кнопка, те же поля.

   Заглавные буквы в «Корзина Покупок» и «Оформить Заказ»
   исправлены не здесь, а в языковом файле модуля —
   `catalog/language/ru-ru/extension/module/chameleon_newfastorder.php`.
   ═══════════════════════════════════════════════════════════ */

#popup-quickorder .modal-title {
    font-size: 17px;
    font-weight: 800;
    color: #111827;
}

/* ── Счётчик количества — как в сводке заказа и в корзине ── */

#popup-quickorder .quantity_quickorder {
    display: inline-flex;
    align-items: center;
    width: auto;
    background: rgba(66, 133, 244, .06);
    border: 1px solid rgba(66, 133, 244, .15);
    border-radius: 10px;
    padding: 2px;
}

#popup-quickorder .btn-minus-quantity,
#popup-quickorder .btn-plus-quantity {
    width: 30px;
    height: 30px;
    min-height: 30px;
    line-height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #4285f4;
}

#popup-quickorder .btn-minus-quantity:hover,
#popup-quickorder .btn-plus-quantity:hover {
    background: rgba(66, 133, 244, .10);
    border-radius: 8px;
}

#popup-quickorder .btn-plus-quantity .fa::before {
    content: "+";
    font-family: inherit;
    font-weight: 700;
    font-size: 18px;
}

#popup-quickorder .btn-minus-quantity .fa::before {
    content: "\2212";
    font-family: inherit;
    font-weight: 700;
    font-size: 18px;
}

#popup-quickorder .btn-minus-quantity .fa,
#popup-quickorder .btn-plus-quantity .fa {
    color: inherit;
    line-height: 1;
}

#popup-quickorder input.qty_quickorder {
    width: 34px;
    min-width: 34px;
    height: 30px;
    padding: 0;
    text-align: center;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

/* ── Строка товара ── */

#popup-quickorder table.products td {
    vertical-align: middle;
    border: 0;
}

#popup-quickorder table.products td:nth-child(2),
#popup-quickorder table.products td:nth-child(2) a {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
}

#popup-quickorder table.products td:last-child {
    font-size: 15px;
    font-weight: 800;
    color: #111827;
    white-space: nowrap;
}

/* ── Поля ── */

#popup-quickorder input.form-control {
    height: 46px;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    background: #fff;
    font-size: 15px;
}

#popup-quickorder input.form-control:focus {
    border-color: #4285f4;
    box-shadow: 0 0 0 3px rgba(66, 133, 244, .12);
}

/* ── Главная кнопка — тот же зелёный, что везде ── */

#popup-quickorder .chm-btn.chm-btn-primary {
    background: #34a853;
    border-color: #34a853;
}

#popup-quickorder .chm-btn.chm-btn-primary:hover,
#popup-quickorder .chm-btn.chm-btn-primary:focus {
    background: #2d9247;
    border-color: #2d9247;
}

#popup-quickorder .btn-link-delete {
    color: #9ca3af;
    transition: color .15s;
}

#popup-quickorder .btn-link-delete:hover {
    color: #ef4444;
}

/* ═══════════════════════════════════════════════════════════
   Сводка заказа: направление «Счёт». 06.09.2026.

   Одно число в строке. Цена за штуку появляется только при
   количестве больше одного и как арифметика «2 × ₸7000», а не
   как второй ценник. Иерархию держат кегли 14 → 17 → 24, а не
   веса: в Montserrat подключены только 400/500/600, вес 700
   рисуется ровно как 600, а 800 и 900 браузер подделывает,
   размазывая контур на мелком кегле.

   ВАЖНО ПРО КАСКАД: `custom.css` подключается восьмым, а после
   него грузится `simple.css` модуля оформления, и там правила
   с `!important` на кегль и вес сумм. Перебить их можно только
   своим `!important` при большей избирательности — отсюда
   идентификатор в селекторах и `!important` на шрифтовых
   свойствах. Без этого правки молча не применяются.
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 992px) {

/* ── Карточка: кольцо вместо рамки, без тени ── */

body.route-checkout-simplecheckout #simplecheckout_cart.simplecheckout-block {
    background: #fff !important;
    border: 0 !important;
    box-shadow: 0 0 0 1px #eaedf7 !important;
    border-radius: 12px;
    padding: 20px;
}

body.route-checkout-simplecheckout #simplecheckout_cart::before {
    content: "Ваш заказ";
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    padding: 0 0 14px 12px;
    margin-bottom: 0;
    border-bottom: 1px solid #eef1f5;
    background: linear-gradient(#715ecc, #715ecc) left top 1px / 3px 16px no-repeat;
}

/* ── Строка товара ── */

body.route-checkout-simplecheckout #simplecheckout_cart tbody tr {
    position: relative;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 5px;
    align-items: start;
    padding: 14px 0;
    margin-bottom: 0;
    border-bottom: 1px solid #eef1f5;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.image {
    grid-area: 1 / 1 / 4 / 2;
    width: 56px;
    height: 56px;
    border-radius: 8px;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.name > a {
    -webkit-line-clamp: 2;
    font-size: 14px;
    line-height: 19px;
    font-weight: 600;
}

/* сумма строки — главное число строки */
body.route-checkout-simplecheckout #simplecheckout_cart td.total {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 19px !important;
    color: #111827 !important;
}

/* ── Цена за штуку: только при количестве больше одного ──
   Признак ставит скрипт: он кладёт количество в data-qty у
   ячейки цены. Отсюда же берётся множитель в подписи. */

body.route-checkout-simplecheckout #simplecheckout_cart td.price {
    display: flex !important;
    align-items: baseline;
    gap: 0 5px;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price > div,
body.route-checkout-simplecheckout #simplecheckout_cart td.price > span {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price[data-qty]::before {
    content: attr(data-qty) " ×";
    font-size: 13px;
    font-weight: 400;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price::after {
    content: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price[data-qty="1"],
body.route-checkout-simplecheckout #simplecheckout_cart td.price:not([data-qty]) {
    display: none !important;
}

/* ── Счётчик: нейтральный, без заливки и без синего ── */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group {
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 0;
    height: 28px;
    overflow: hidden;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn {
    width: 28px;
    height: 26px;
    min-height: 26px;
    line-height: 26px;
    color: #6b7280;
    font-size: 15px;
    font-weight: 500;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn:hover {
    background: #f8fafc;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity input[type="text"].form-control {
    width: 32px;
    min-width: 32px;
    height: 26px;
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}

/* черта между плюсом и крестиком больше не нужна — крестик уезжает */
body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group-btn + .input-group-btn,
body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger {
    border-left: 0 !important;
}

/* ── Удаление: из счётчика в угол строки ── */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger {
    position: absolute;
    right: 0;
    bottom: 16px;
    width: auto;
    height: auto;
    min-height: 0;
    line-height: 1;
    padding: 2px;
    background: transparent;
    color: #9ca3af;
    font-size: 14px;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger:hover {
    color: #ef4444;
    background: transparent;
}

/* ── Итоги: подписи тише, числа по одному правому краю ── */

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total {
    padding: 6px 0;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total b {
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-value {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px;
    font-weight: 500;
    color: #111827;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total:has(+ input) {
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid #eef1f5;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total:has(+ input) b {
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total:has(+ input) .simplecheckout-cart-total-value {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -.01em;
    color: #111827;
}

}

/* ─────────────────────────────────────────────────────────────
   «Счёт»: правый край и место крестика. 06.09.2026.

   Две причины, обе невидимые в разметке и найденные только
   замером.

   1. У строки итогов есть `::after` с пустым содержимым —
      распорка от темы. В гибкой раскладке пустой псевдоэлемент
      становится полноценным третьим элементом, и зазор в 14
      точек перед ним отталкивает значение от правого края. Это
      и был «правого края не существует»: 14 точек зазора плюс
      3 точки собственного поля значения дают те самые 17.

   2. Крестик удаления уезжал не в угол строки, а в угол
      счётчика: Bootstrap задаёт `.input-group` и
      `.input-group-btn` собственное позиционирование, и
      абсолютная привязка цеплялась за них. Возвращаем им
      статику — тогда опорой становится строка товара.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total::after,
body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total::before {
    content: none !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group,
body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group-btn {
    position: static;
}

}

/* ─────────────────────────────────────────────────────────────
   «Счёт»: знак удаления и зелёный кнопки. 06.09.2026.

   1. Крестик набран значком «кружок с крестом» — рядом с
      круглыми кнопками счётчика он и читался как третья кнопка.
      Подменяем сам символ на простой знак: так не важно, какая
      версия набора значков подключена.

   2. Зелёный главной кнопки был `#34a853` — он приехал вместе с
      мобильным скином и является фирменным зелёным Google.
      Проверено по пикселям логотипа магазина: его собственные
      цвета — `#00a5e5`, `#25b341`, `#fe9710`. Ставим свой
      зелёный, одинаковый на всех трёх кнопках заказа: на
      оформлении, в выдвижной корзине и в быстром заказе.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger .fa::before {
    content: "\00d7";
    font-family: inherit;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
}

}

/* ── Главное действие — фирменным зелёным, а не гугловским ── */

body.route-checkout-simplecheckout #simplecheckout_button_confirm,
body.route-checkout-simplecheckout a.button.btn-primary {
    background: #25b341 !important;
    border-color: #25b341 !important;
}

body.route-checkout-simplecheckout #simplecheckout_button_confirm:hover,
body.route-checkout-simplecheckout a.button.btn-primary:hover {
    background: #1f9c38 !important;
    border-color: #1f9c38 !important;
}

.header-cart-fix-right .chm-btn.chm-btn-primary,
#popup-quickorder .chm-btn.chm-btn-primary {
    background: #25b341;
    border-color: #25b341;
}

.header-cart-fix-right .chm-btn.chm-btn-primary:hover,
.header-cart-fix-right .chm-btn.chm-btn-primary:focus,
#popup-quickorder .chm-btn.chm-btn-primary:hover,
#popup-quickorder .chm-btn.chm-btn-primary:focus {
    background: #1f9c38;
    border-color: #1f9c38;
}

/* ─────────────────────────────────────────────────────────────
   Название товара целиком — решение заказчика, 06.09.2026.

   В направлении «Счёт» было две строки ради высоты, и длинные
   названия обрывались: «Массажер перкуссионный -…». Заказчик
   выбрал полные названия. Плата — 19 точек высоты на тех
   строках, где название длинное; где короткое, высота прежняя.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

body.route-checkout-simplecheckout #simplecheckout_cart td.name > a {
    -webkit-line-clamp: 3;
}

}

/* ═══════════════════════════════════════════════════════════
   Сводка: ширина 440 и починка нижнего отступа. 06.09.2026.

   1. Счётчик упирался в черту, а крестик ложился на него.
      Причина не в них: правило для последней строки товара
      обнуляло `padding-bottom`, а строка в корзине одна — то
      есть она всегда последняя. Замер показал `padding:
      14px 0px 0px`. Возвращаем отступ снизу, убираем только
      черту.

   2. Карточка была 360 при доступных 1420: форма 700, зазор 32,
      сводка 360 — итого 1092, и по 164 точки пустоты с каждой
      стороны. Отдаём эту пустоту сводке: 440 и зазор 40.
      Колонка названия вырастает со 185 до ~250 точек, длинные
      названия перестают жаться.
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 992px) {

body.route-checkout-simplecheckout .simplecheckout {
    grid-template-columns: minmax(0, 700px) 440px;
    column-gap: 40px;
}

body.route-checkout-simplecheckout #simplecheckout_cart tbody tr {
    padding: 14px 0;
}

body.route-checkout-simplecheckout #simplecheckout_cart tbody tr:last-child {
    padding-bottom: 14px;
    margin-bottom: 0;
    border-bottom: 0;
}

/* крестик — по вертикали вровень со счётчиком, а не над ним */
body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger {
    bottom: 18px;
}

}

/* ═══════════════════════════════════════════════════════════
   Сводка заказа: правки по обходу вёрстки. 06.09.2026.
   ═══════════════════════════════════════════════════════════ */

/* ── 1. «Итого» уходило за нижний край на невысоком экране ──
   Сводка липкая, и при пяти товарах она выше окна: на 1366×660
   карточка 735 точек, и «Итого» стоит на 71 точку ниже кромки
   всё время, пока покупатель заполняет форму. То есть способ
   доставки выбирают, не видя, что стало с суммой.

   Ограничиваем высоту карточки окном и отдаём прокрутку списку
   товаров: итоги становятся видимым низом карточки всегда. */

@media (min-width: 992px) {

body.route-checkout-simplecheckout #simplecheckout_cart.simplecheckout-block {
    max-height: calc(100vh - 32px);
    display: flex;
    flex-direction: column;
}

body.route-checkout-simplecheckout #simplecheckout_cart .table-responsive {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total {
    flex: 0 0 auto;
}

/* ── 2. Черта на смысловой границе ──
   Между товарами черта есть, под заголовком есть, над «Итого»
   есть — а между списком товаров и итогами не было. */


/* ── 3. Пустая корзина: кнопка улетала в колонку сводки ──
   Сетка остаётся двухколоночной, а детей всего двое: сообщение
   «Ваша корзина пуста!» и блок кнопки. Второй автоматически
   попадал во вторую колонку и стоял один в 40 точках правее. */

body.route-checkout-simplecheckout .simplecheckout:not(:has(#simplecheckout_cart)) {
    grid-template-columns: minmax(0, 700px);
}

body.route-checkout-simplecheckout .simplecheckout > .simplecheckout-button-block:not(#buttons) {
    grid-column: 1;
    width: 100%;
}

}

/* ── 4. На 992–1030 сводка была шире формы ──
   В `minmax(0,700px) 440px` сводка не сжимается вовсе: на 992
   форма 417 против сводки 440, поля падают до 357. Ниже 1220
   отдаём форме гибкую долю, а сводке — вилку. */

@media (min-width: 992px) and (max-width: 1219px) {

body.route-checkout-simplecheckout .simplecheckout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    column-gap: 24px;
}

}

/* ── 5. Полоса 768–991 оставалась без оформления ──
   Десктопный скин начинается с 992, мобильный кончается на 767.
   Планшеты попадали в щель: правый край разъезжался на 27.7
   точки, «Итого» рисовался тем же кеглем, что и «Сумма», а цена
   за штуку дублировала сумму строки при количестве 1.
   Полного переноса не делаем — закрываем три худшие вещи. */

@media (min-width: 768px) and (max-width: 991px) {

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding: 6px 0;
    text-align: left;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total > span:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total::after,
body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total::before {
    content: none !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-value {
    margin: 0 !important;
    padding: 0 !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-remove {
    display: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total:has(+ input) .simplecheckout-cart-total-value {
    font-size: 22px;
    font-weight: 600;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price[data-qty="1"] {
    display: none !important;
}

}

/* ── 6. После смены ширины окна висели ДВЕ сводки ──
   Скрипт строит мобильную карточку только до 767 и при
   расширении окна выходит по проверке, не пряча её. Правила на
   скрытие выше 767 не было — оставалась коробка 805×1135 над
   формой одновременно с десктопной сводкой. Ловится поворотом
   планшета и обычным ресайзом. */

@media (min-width: 768px) {

#sc-final-mobile-cart {
    display: none !important;
}

}

/* ── 7. Текст двух галочек разъезжался на 2 точки ──
   У согласия поле выведено из потока и подпись отбита
   отступом 34, у «Не перезванивать» поле в потоке. Квадратики
   совпадали, текст начинался с 92.5 и 90.5. */

@media (min-width: 992px) {


}

/* ─────────────────────────────────────────────────────────────
   Черта между списком товаров и итогами. 06.09.2026.

   Не встала с первого раза: `simple.css` модуля глушит рамку у
   обёртки таблицы правилом
       .simple-content .table-responsive {
           margin-bottom: 0 !important;
           border-style: none !important;
       }
   Это третий случай за день, когда молча не применяется правка
   именно из-за этого файла. Перебиваем своим `!important` —
   избирательность выше за счёт идентификатора.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

body.route-checkout-simplecheckout #simplecheckout_cart .table-responsive {
    border-bottom: 1px solid #eef1f5 !important;
    margin-bottom: 8px !important;
}

}

/* ─────────────────────────────────────────────────────────────
   Выравнивание двух галочек. 06.09.2026, вторая попытка.

   Первая сделала хуже: разъезд был 2 точки, стал 10. Причина —
   отступ прибавился к уже существующему полю, а не заменил его.

   Считаем от левого края плашки, у обеих он одинаковый:
     согласие      — поле выведено из потока в левый угол,
                     подпись отбита отступом 34;
     не перезванивать — поле в потоке шириной 22, дальше поле
                     подписи; чтобы текст начался с тех же 34,
                     между ними нужно ровно 12.
   ───────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

body.route-checkout-simplecheckout .simplecheckout-button-block .form-check-label {
    padding-left: 0;
    margin-left: 12px;
}

}

/* ═══════════════════════════════════════════════════════════
   Счётчик количества — один вид во всех пяти местах.
   06.09.2026.

   На сайте пять разных счётчиков, и все выглядели по-разному:
     1. сводка заказа на оформлении   — серая пилюля
     2. мобильная карточка заказа     — синяя заливка
     3. выдвижная корзина в шапке     — синяя заливка
     4. окна быстрого заказа          — синяя обёртка, а кнопки
                                        белые 11×34 и со стрелками
     5. карточка товара               — вертикальный, стрелки
                                        вверх-вниз рисунками

   Четвёртый был просто сломан: `fastorder.css` грузится ПОСЛЕ
   `custom.css` и перебивал размеры кнопок. Поэтому здесь везде
   `!important` — иначе половина правил молча не применится.

   Вид взят от сводки заказа: нейтральная рамка, серые знаки,
   без заливки. Значения вынесены в переменные — поменять вид
   всюду разом можно правкой шести строк ниже.
   ═══════════════════════════════════════════════════════════ */

:root {
    --qty-h: 30px;
    --qty-btn: 28px;
    --qty-num-w: 34px;
    --qty-radius: 8px;
    --qty-border: #e5e7eb;
    --qty-glyph: #6b7280;
    --qty-text: #111827;
    --qty-hover: #f8fafc;
}

/* на телефоне кнопка крупнее: под палец */
@media (max-width: 767px) {
    :root {
        --qty-h: 34px;
        --qty-btn: 32px;
        --qty-num-w: 38px;
    }
}

/* ── Обёртка ── */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group,
body.route-checkout-simplecheckout .sc-qty,
.header-cart-fix-right .ch-cart-quantity,
#popup-quickorder .quantity_quickorder,
.quantity-adder .quantity-number {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: auto !important;
    height: var(--qty-h) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 1px solid var(--qty-border) !important;
    border-radius: var(--qty-radius) !important;
    overflow: hidden;
}

/* ── Кнопки ── */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn:not(.btn-danger),
body.route-checkout-simplecheckout .sc-qty button,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus,
#popup-quickorder .btn-minus-quantity,
#popup-quickorder .btn-plus-quantity,
.quantity-adder .quantity-number .add-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--qty-btn) !important;
    min-width: var(--qty-btn) !important;
    height: calc(var(--qty-h) - 2px) !important;
    min-height: 0 !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--qty-glyph) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    cursor: pointer;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn:not(.btn-danger):hover,
body.route-checkout-simplecheckout .sc-qty button:hover,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus:hover,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus:hover,
#popup-quickorder .btn-minus-quantity:hover,
#popup-quickorder .btn-plus-quantity:hover,
.quantity-adder .quantity-number .add-action:hover {
    background: var(--qty-hover) !important;
    color: var(--qty-text) !important;
}

/* ── Поле числа ── */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity input[type="text"].form-control,
body.route-checkout-simplecheckout .sc-qty input,
.header-cart-fix-right .ch-cart-quantity input.form-control,
#popup-quickorder input.qty_quickorder,
.quantity-adder .quantity-number input.quantity-product {
    width: var(--qty-num-w) !important;
    min-width: var(--qty-num-w) !important;
    height: calc(var(--qty-h) - 2px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--qty-text) !important;
}

/* ── Знаки: везде плюс и минус ──
   В корзине и в быстром заказе тема рисует стрелки значками
   набора, на карточке товара — вложенными рисунками. Подменяем
   символ, а рисунки прячем: так не важно, какой набор значков
   подключён и какой он версии. */

.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus .fa::before,
#popup-quickorder .btn-plus-quantity .fa::before {
    content: "+" !important;
    font-family: inherit !important;
    font-size: 17px;
    font-weight: 500;
}

.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus .fa::before,
#popup-quickorder .btn-minus-quantity .fa::before {
    content: "\2212" !important;
    font-family: inherit !important;
    font-size: 17px;
    font-weight: 500;
}

.header-cart-fix-right .ch-cart-quantity .fa,
#popup-quickorder .quantity_quickorder .fa {
    color: inherit !important;
    line-height: 1 !important;
}

/* карточка товара: рисунки-стрелки прячем, ставим знаки */
.quantity-adder .quantity-number .add-action svg {
    display: none !important;
}

.quantity-adder .quantity-number .add-down::before {
    content: "\2212";
    font-size: 17px;
    font-weight: 500;
}

.quantity-adder .quantity-number .add-up::before {
    content: "+";
    font-size: 17px;
    font-weight: 500;
}

/* и порядок как у всех: минус, число, плюс */
.quantity-adder .quantity-number .add-down { order: 0; }
.quantity-adder .quantity-number input.quantity-product { order: 1; }
.quantity-adder .quantity-number .add-up { order: 2; }

.quantity-adder {
    width: auto !important;
    height: auto !important;
}

/* ─────────────────────────────────────────────────────────────
   Счётчик: запрет на сжатие. 06.09.2026.

   В окне быстрого заказа обёртка счётчика — гибкий элемент строки
   товара, и соседи сжимали её до 47 точек при нужных 90. Вместе
   с `overflow: hidden` это отрезало плюс: на экране оставалось
   «− 1».

   Запрещаем сжатие и самой обёртке, и её содержимому: счётчик
   всегда занимает свою ширину, а тесно становится названию —
   ему есть куда переноситься.
   ───────────────────────────────────────────────────────────── */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group,
body.route-checkout-simplecheckout .sc-qty,
.header-cart-fix-right .ch-cart-quantity,
#popup-quickorder .quantity_quickorder,
.quantity-adder .quantity-number {
    flex: 0 0 auto !important;
    min-width: calc(var(--qty-btn) * 2 + var(--qty-num-w)) !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn:not(.btn-danger),
body.route-checkout-simplecheckout .sc-qty button,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus,
#popup-quickorder .btn-minus-quantity,
#popup-quickorder .btn-plus-quantity,
.quantity-adder .quantity-number .add-action,
body.route-checkout-simplecheckout #simplecheckout_cart td.quantity input[type="text"].form-control,
body.route-checkout-simplecheckout .sc-qty input,
.header-cart-fix-right .ch-cart-quantity input.form-control,
#popup-quickorder input.qty_quickorder,
.quantity-adder .quantity-number input.quantity-product {
    flex: 0 0 auto !important;
}

/* ─────────────────────────────────────────────────────────────
   Счётчик на карточке товара: снять ширину под вертикальный вид.
   06.09.2026.

   Тема держит обёртку счётчика в 36 точках — ровно под столбик
   «стрелка вверх, поле, стрелка вниз»:

       #product .quantity-adder { flex: 0 0 36px; max-width: 36px }

   После разворота в строку содержимое стало 92 точки и полезло
   за границы обёртки — на телефоне цена оказалась под знаками
   счётчика. `width: auto` тут не помогает: держат основа гибкого
   элемента и предел ширины, снимать надо именно их.
   ───────────────────────────────────────────────────────────── */

#product .quantity-adder,
#popup-quickview .quantity-adder,
.quantity-adder {
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
    height: auto !important;
}

/* поле числа тема тоже задаёт под столбик — 36×22 */
#product .quantity-adder .quantity-number input.quantity-product,
#popup-quickview .quantity-adder .quantity-number input.quantity-product {
    width: var(--qty-num-w) !important;
    height: calc(var(--qty-h) - 2px) !important;
    padding: 0 !important;
}

#product .quantity-adder .add-action,
#popup-quickview .quantity-adder .add-action {
    height: calc(var(--qty-h) - 2px) !important;
    line-height: 1 !important;
}

/* ═══════════════════════════════════════════════════════════
   Знак тенге тоньше, сумма сильнее. 07.09.2026.

   Знак ₸ в Montserrat тяжёлый: рядом с жирными цифрами он читается
   как ещё одна цифра и спорит с суммой. Отдельным элементом его не
   обернёшь — он часть текста, а не узел.

   Приём: объявляем шрифт, у которого весь набор символов сводится
   к одному знаку (`unicode-range: U+20B8`), и ставим его первым в
   наборе у body. Для ₸ берётся начертание 400, для всего
   остального — обычный Montserrat нужного веса. Ни разметку, ни
   скрипты трогать не нужно, и работает это везде разом.

   `font-weight: 100 900` в объявлении обязателен: без него браузер
   на запросе веса 600 не найдёт подходящего начертания и подделает
   жир поверх 400 — то есть вернёт ровно то, от чего уходим.
   ═══════════════════════════════════════════════════════════ */

@font-face {
    font-family: 'OgoCurrency';
    src: url('fonts/montserrat-regular.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
    unicode-range: U+20B8;
}

body {
    font-family: 'OgoCurrency', Montserrat, sans-serif;
}

/* ── Суммы чуть сильнее ── */

.header-cart-fix-right .header-cart-item-total {
    font-size: 16px;
}

/* «В корзине N товар, на ₸X» — числа тёмные и плотные, слова серые */
.header-cart-fix-right .header-cart-text-info span {
    font-weight: 600;
    color: #111827;
}

@media (min-width: 992px) {

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-value {
    font-weight: 600;
}

}

/* ═══════════════════════════════════════════════════════════
   Мобильная сводка — на родной механике. 07.09.2026.

   Как было: до 767 точек родная таблица сводки пряталась
   (размер 1×1, прозрачность 0), а вместо неё скрипт рисовал
   свою карточку. Кнопки на ней были посредниками: обработчик
   ловил нажатие, находил в спрятанной таблице строку с тем же
   номером и жал её настоящую кнопку. Отсюда заметная задержка
   на каждое изменение количества.

   Как стало: родная таблица возвращается на место и оформляется
   теми же правилами, что на широком экране. Посредник больше не
   нужен — нажатие идёт прямо в OpenCart.

   Своя карточка не удалена из скрипта, а обесточена: `MOBILE_MAX`
   переведён в -1, поэтому `render()` выходит сразу и коробка
   остаётся пустой. Откат — вернуть 767.
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 767px) {

/* ── Вернуть родную сводку ── */

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total,
body.route-checkout-simplecheckout #simplecheckout_cart #total_sub_total,
body.route-checkout-simplecheckout #simplecheckout_cart #total_shipping,
body.route-checkout-simplecheckout #simplecheckout_cart #total_total {
    display: flex !important;
    visibility: visible !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    overflow: visible !important;
    pointer-events: auto !important;
    z-index: auto !important;
}

body.route-checkout-simplecheckout #sc-final-mobile-cart {
    display: none !important;
}

}

/* ── Оформление сводки на узком экране ──
   Повторяет вид «Счёта» с широкого экрана. Отдельным блоком, а не
   снятием ограничения по ширине у прежних правил: там же лежат
   вещи, которым на телефоне делать нечего — двухколоночная сетка
   и липкость с ограничением по высоте окна. */

@media (max-width: 991px) {

body.route-checkout-simplecheckout #simplecheckout_cart.simplecheckout-block {
    background: #fff !important;
    border: 0 !important;
    box-shadow: 0 0 0 1px #eaedf7 !important;
    border-radius: 12px;
    padding: 16px;
}

body.route-checkout-simplecheckout #simplecheckout_cart::before {
    content: "Ваш заказ";
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    padding: 0 0 12px 12px;
    border-bottom: 1px solid #eef1f5;
    background: linear-gradient(#715ecc, #715ecc) left top 1px / 3px 16px no-repeat;
}

body.route-checkout-simplecheckout #simplecheckout_cart .table-responsive,
body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart,
body.route-checkout-simplecheckout #simplecheckout_cart tbody,
body.route-checkout-simplecheckout #simplecheckout_cart tbody td {
    display: block;
    border: 0;
    background: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart .table-responsive {
    border-bottom: 1px solid #eef1f5 !important;
    margin-bottom: 8px !important;
    overflow: visible;
}

body.route-checkout-simplecheckout #simplecheckout_cart thead,
body.route-checkout-simplecheckout #simplecheckout_cart colgroup,
body.route-checkout-simplecheckout #simplecheckout_cart td.model {
    display: none !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart tbody tr {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 5px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid #eef1f5;
}

body.route-checkout-simplecheckout #simplecheckout_cart tbody tr:last-child {
    border-bottom: 0;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.image {
    grid-area: 1 / 1 / 4 / 2;
    width: 56px;
    height: 56px;
    padding: 0;
    background: #f8fafc;
    border: 1px solid #eef1f5;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.name {
    grid-area: 1 / 2 / 2 / 3;
    padding: 0;
    text-align: left;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.name > a {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 19px;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.total {
    grid-area: 1 / 3 / 2 / 4;
    padding: 0;
    text-align: right;
    white-space: nowrap;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 19px !important;
    color: #111827 !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price {
    grid-area: 2 / 2 / 3 / 4;
    padding: 0;
    display: flex !important;
    align-items: baseline;
    gap: 0 5px;
    text-align: left;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price > div,
body.route-checkout-simplecheckout #simplecheckout_cart td.price > span {
    display: inline !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price[data-qty]::before {
    content: attr(data-qty) " ×";
    font-size: 13px;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.price[data-qty="1"],
body.route-checkout-simplecheckout #simplecheckout_cart td.price:not([data-qty]) {
    display: none !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity {
    grid-area: 3 / 2 / 4 / 4;
    padding: 0;
    text-align: left;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger {
    position: absolute;
    right: 0;
    bottom: 18px;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    line-height: 1;
    padding: 2px;
    background: transparent !important;
    color: #9ca3af !important;
    font-size: 14px !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger .fa::before {
    content: "\00d7";
    font-family: inherit;
    font-size: 17px;
    font-weight: 400;
}

/* ── Итоги ── */

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total {
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    text-align: left;
    padding: 6px 0;
    border: 0;
    background: none;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total::after,
body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total::before {
    content: none !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total > span:first-child {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total b {
    font-size: 12px;
    font-weight: 500;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-value {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    white-space: nowrap;
    text-align: right;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total-remove {
    display: none !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total:has(+ input) {
    margin-top: 8px;
    padding-top: 14px;
    border-top: 1px solid #eef1f5;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total:has(+ input) b {
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
}

body.route-checkout-simplecheckout #simplecheckout_cart .simplecheckout-cart-total:has(+ input) .simplecheckout-cart-total-value {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -.01em;
}

}

/* ─────────────────────────────────────────────────────────────
   Мобильная сводка: снимок и место суммы. 07.09.2026.

   Сетка строки встала, но ячейка со снимком осталась скрытой, а
   вместо неё показывалась картинка, вложенную в ячейку названия, —
   так делал прежний мобильный скин. Отсюда столбик: снимок,
   название, счётчик.

   Заодно поднята избирательность: у прежнего поколения правил
   селекторы длиннее (`table.simplecheckout-cart td.…`), и мои
   короткие им проигрывали.
   ───────────────────────────────────────────────────────────── */

@media (max-width: 991px) {

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart td.image {
    display: flex !important;
    grid-area: 1 / 1 / 4 / 2;
    width: 56px !important;
    height: 56px !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border: 1px solid #eef1f5;
    border-radius: 8px;
    overflow: hidden;
}

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart td.name > div.image {
    display: none !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart td.name {
    grid-area: 1 / 2 / 2 / 3;
    text-align: left !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart td.total {
    grid-area: 1 / 3 / 2 / 4;
    text-align: right !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart td.price {
    grid-area: 2 / 2 / 3 / 4;
    text-align: left !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart table.simplecheckout-cart td.quantity {
    grid-area: 3 / 2 / 4 / 4;
    text-align: left !important;
}

}

/* ─────────────────────────────────────────────────────────────
   Крестик удаления на телефоне. 07.09.2026.

   Bootstrap задаёт `.input-group` и `.input-group-btn` собственное
   позиционирование, и абсолютная привязка крестика цеплялась за
   счётчик, а не за строку: знак оказывался на 122 точки левее
   нужного угла. На широком экране это уже снято, теперь и на
   узком.
   ───────────────────────────────────────────────────────────── */

@media (max-width: 991px) {

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group,
body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group-btn {
    position: static;
}

}

/* ═══════════════════════════════════════════════════════════
   Счётчик количества: выравнивание и знаки. 07.09.2026.

   Заказчик показал сводку заказа: знаки «минус» и «плюс» стоят
   выше цифры. Замер подтвердил и объяснил.

   1. ВЕРТИКАЛЬ. Обёртки кнопок (`.input-group-btn`) держались в
      32 точки старым правилом прошлого поколения, а поле числа
      после сведения счётчиков стало 28. Обёртка выше рабочей
      области на 4 точки, кнопка внутри прижата к её верху —
      знаки оказывались на 2 точки выше цифры, а минус вдобавок
      вылезал за верхнюю рамку. Замер: кнопки 453..481 при поле
      455..483.

      Высоту обёртки берём из той же переменной, что и всё
      остальное, содержимое центруем.

   2. ЗНАКИ. В сводке заказа минус и плюс так и остались
      значками набора FontAwesome, тогда как в остальных четырёх
      счётчиках стоят типографские. Значки друг другу не пара:
      замер отпечатка при кегле 16 даёт у минуса полосу 4 точки
      толщиной, у плюса крест 13 точек высотой. Отсюда минус
      читается тонкой чертой, а плюс — жирным крестом.

      Ставим те же типографские знаки, что и везде.

   3. ШРИФТ ЗНАКОВ. В корзине и быстром заказе знаки объявлены с
      `font-family: inherit`, а наследуют они от `<i class="fa">`,
      то есть от FontAwesome — в котором таких знаков нет, и
      браузер молча берёт запасной шрифт. Задаём начертание
      прямо, чтобы знаки во всех пяти местах были из одной
      гарнитуры.

   4. ЦИФРА. Была 13 при знаках 16–17 — самое мелкое в элементе,
      хотя она в нём главное. Поднята до 14.
   ═══════════════════════════════════════════════════════════ */

/* 1. Обёртки кнопок — по центру и по высоте рабочей области */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .input-group > .input-group-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    float: none !important;
    width: var(--qty-btn) !important;
    height: calc(var(--qty-h) - 2px) !important;
    min-height: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* 2. Знаки в сводке заказа — типографские, как в остальных местах */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity [data-onclick="decreaseProductQuantity"] .fa::before {
    content: "\2212" !important;
}

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity [data-onclick="increaseProductQuantity"] .fa::before {
    content: "+" !important;
}

/* 3. Одна гарнитура у знаков во всех пяти счётчиках */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn:not(.btn-danger) .fa::before,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-minus .fa::before,
.header-cart-fix-right .ch-cart-quantity .btn-quantity-plus .fa::before,
#popup-quickorder .btn-minus-quantity .fa::before,
#popup-quickorder .btn-plus-quantity .fa::before,
.quantity-adder .quantity-number .add-down::before,
.quantity-adder .quantity-number .add-up::before {
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

/* 4. Цифра — главное в элементе, значит не мельче знаков */

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity input[type="text"].form-control,
body.route-checkout-simplecheckout .sc-qty input,
.header-cart-fix-right .ch-cart-quantity input.form-control,
#popup-quickorder input.qty_quickorder,
.quantity-adder .quantity-number input.quantity-product {
    font-size: 14px !important;
}

/* ─────────────────────────────────────────────────────────────
   Крестик удаления на телефоне: вровень со счётчиком. 07.09.2026.

   Отступ снизу был подобран на глаз и давал середину крестика
   на 3 точки выше середины счётчика (308 против 311). Считаем
   честно: нижний отступ строки 14 точек, высота крестика равна
   высоте счётчика — тогда середины совпадают при любом значении
   переменной.
   ───────────────────────────────────────────────────────────── */

@media (max-width: 767px) {

body.route-checkout-simplecheckout #simplecheckout_cart td.quantity .btn-danger {
    bottom: 14px !important;
    height: var(--qty-h) !important;
    min-height: 0 !important;
}

}

/* ═══════════════════════════════════════════════════════════
   Быстрый заказ на телефоне: строка товара. 07.09.2026.

   Строка сверстана таблицей из четырёх колонок: снимок, название,
   счётчик, сумма. На узком экране она не помещается — замер на
   375 точках: таблица 323 при рабочей ширине окна 285, то есть
   вылет на 38 точек за правый край. Из-за этого сумма обрезалась,
   а название сжималось до четырёх строк по одному слову.

   Разбивка сумм на триады сделала цену на несколько точек шире и
   довела запас до нуля — но тесно там было и до неё.

   Заодно вскрылись два провала, которые в таблице просто не были
   видны: снимок товара схлопнут в ноль, а кнопка удаления
   спрятана прозрачностью (в теме она показывается по наведению —
   на телефоне наводить нечем, и убрать товар из окна нельзя).

   Строку переносим на ту же раскладку, что в сводке заказа:
   снимок слева, название и сумма в первом ряду, счётчик и
   удаление во втором. Ячейка снимка переводится в `contents`,
   чтобы её снимок и кнопка легли в разные места сетки.
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 767px) {

/* Вертикальная черта в шапке окна — украшение темы: она отрезает
   крестик в отдельную клетку и на узком окне читается как поломка
   вёрстки. Рисуется псевдоэлементом шапки. */

#popup-quickorder .modal-header::after {
    content: none !important;
}

/* Строка «В корзине N товар, на ₸X» — ссылка выводилась строчной,
   получала 256 точек из 285 и роняла галочку раскрытия на вторую
   строку. Разбивка сумм на триады прибавила ширины и добила запас.
   Делаем её блоком во всю ширину и на кегль меньше. */

#popup-quickorder .popupTotal,
#popup-quickorder .popupTotal span,
#popup-quickorder .popupTotal .fa {
    font-size: 15px !important;
}

#popup-quickorder .popupTotal {
    display: block;
    text-align: center;
}

#popup-quickorder table.products,
#popup-quickorder table.products tbody,
#popup-quickorder table.products tr,
#popup-quickorder table.products td {
    display: block !important;
    width: auto !important;
    border: 0 !important;
    background: none !important;
}

#popup-quickorder table.products tbody tr {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 8px;
    align-items: start;
    padding: 12px 0 !important;
    border-bottom: 1px solid #eef1f5 !important;
}

/* Ячейки — гибкие, а не блочные, и высота по содержимому.

   Одного `display: flex` мало: ячейка бывшей таблицы продолжает
   считать высоту по-табличному и раздувается до 75 точек при
   содержимом в 38 — замер это показал, а на глаз читалось как
   пустая полоса под счётчиком. Лечится `fit-content`.

   Плюс тема держит на ячейках межстрочный интервал 50 точек — от
   него первый ряд был бы 50 вместо 38. */

#popup-quickorder table.products tbody tr > td {
    display: flex !important;
    align-items: center;
    min-width: 0;
    height: -webkit-fit-content;
    height: fit-content;
    line-height: 1.35;
}

#popup-quickorder table.products tbody tr:last-child {
    border-bottom: 0 !important;
}

/* ── Снимок и удаление лежат в одной ячейке — раскрываем её ── */

#popup-quickorder table.products tbody tr > td.td-image {
    display: contents !important;
}

#popup-quickorder table.products td.td-image > a {
    grid-area: 1 / 1 / 3 / 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    background: #f8fafc;
    border: 1px solid #eef1f5;
    border-radius: 8px;
    overflow: hidden;
}

#popup-quickorder table.products td.td-image > a img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain;
    mix-blend-mode: multiply;
}

#popup-quickorder table.products td.td-image > .btn-link-delete {
    grid-area: 2 / 3 / 3 / 4;
    justify-self: end;
    align-self: center;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 2px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #9ca3af !important;
    line-height: 1;
}

#popup-quickorder table.products td.td-image > .btn-link-delete .fa::before {
    content: "\00d7";
    font-family: Montserrat, Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
}

/* ── Название ── */

#popup-quickorder table.products td:nth-of-type(2) {
    grid-area: 1 / 2 / 2 / 3;
    padding: 0 !important;
    justify-content: flex-start;
    text-align: left !important;
}

#popup-quickorder table.products td:nth-of-type(2) a {
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 19px;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
}

/* ── Счётчик ── */

#popup-quickorder table.products td:nth-of-type(3) {
    grid-area: 2 / 2 / 3 / 3;
    padding: 0 !important;
    justify-content: flex-start;
    text-align: left !important;
}

/* ── Сумма строки ── */

#popup-quickorder table.products td:nth-of-type(4) {
    grid-area: 1 / 3 / 2 / 4;
    padding: 0 !important;
    justify-content: flex-end;
    text-align: right !important;
    white-space: nowrap;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
}

}

/* Кнопки окна быстрого заказа были склеены: низ одной ровно на
   верху другой (591.5 против 591.5). Контейнер гибкий с переносом,
   но без зазора между рядами. */

#popup-quickorder .shop-cart-btn-block {
    gap: 10px;
}

/* ═══════════════════════════════════════════════════════════
   Оформление заказа: одна вертикаль и пара галочек. 07.09.2026.

   Заказчик отчеркнул на снимке края блоков — они не сходятся.
   Замер на 1440 подтвердил пять разных кромок:

     блок                122.5 .. 822.5
     заголовок и тело    142.5 .. 802.5
     группа поля         152.5 .. 792.5
     само поле           152.5 .. 712.5   (560 вместо 660)
     комментарий         142.5 .. 702.5   (560 вместо 660)
     карточки галочек    122.5 .. 822.5

   Лишний отступ давало тело блока (10 точек с каждой стороны),
   поля и комментарий не растягивались на свою колонку, а блок
   кнопок отступа не имел вовсе — оттого галочки выпирали на 20
   точек левее всего остального.

   Сводим к линии заголовков.
   ═══════════════════════════════════════════════════════════ */

body.route-checkout-simplecheckout .simplecheckout .simplecheckout-block-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.route-checkout-simplecheckout .simplecheckout .simplecheckout-block input[type="text"].form-control,
body.route-checkout-simplecheckout .simplecheckout .simplecheckout-block input[type="email"].form-control,
body.route-checkout-simplecheckout .simplecheckout .simplecheckout-block input[type="tel"].form-control,
body.route-checkout-simplecheckout .simplecheckout .simplecheckout-block select.form-control,
body.route-checkout-simplecheckout .simplecheckout .simplecheckout-block textarea {
    width: 100% !important;
    max-width: none !important;
}

/* Блок кнопок — не `simplecheckout-block`, своего отступа у него
   не было. Задаём тот же, что у остальных блоков.

   Идентификатор в селекторе обязателен: раньше в файле уже стоит
   `#buttons { padding: 0 !important }`, а идентификатор сильнее
   класса — правило без него молча не применяется. */

body.route-checkout-simplecheckout #buttons.simplecheckout-button-block {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

@media (max-width: 991px) {
    body.route-checkout-simplecheckout #buttons.simplecheckout-button-block {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ─────────────────────────────────────────────────────────────
   Пара галочек.

   Были из разных наборов: у согласия — голая строка, кегль 12,
   квадратик 13×13 и ширина на 20 точек меньше; у «не
   перезванивать» — карточка с рамкой, кегль 14, квадратик 20×22.
   Делаем одинаковыми карточками с одинаковым квадратиком и
   висячим отступом, чтобы вторая строка шла под текстом, а не
   под квадратиком.
   ───────────────────────────────────────────────────────────── */

body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox,
body.route-checkout-simplecheckout .simplecheckout-button-right .form-check {
    position: relative !important;
    display: block !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 12px 14px !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    text-align: left !important;
}

body.route-checkout-simplecheckout .simplecheckout-button-right .form-check {
    margin-bottom: 20px !important;
}

/* Внутренний блок не должен быть точкой отсчёта: иначе квадратик
   отмеряется от него, а не от края карточки, и уезжает вправо на
   величину висячего отступа. */

body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox .checkbox,
body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox .checkbox label {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Гибкой строкой подпись делать НЕЛЬЗЯ: у согласия внутри две
   ссылки, а в гибкой раскладке каждый вложенный элемент становится
   отдельной колонкой — текст сжимался в столбик по одному слову, а
   ссылки уезжали за край карточки. Нужен обычный висячий отступ:
   текст блоком со сдвигом, квадратик абсолютом в его начале. Так
   строки переносятся как обычный текст и вторая строка идёт под
   первой, а не под квадратиком. */

body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox .checkbox label,
body.route-checkout-simplecheckout .simplecheckout-button-right .form-check .form-check-label {
    display: block !important;
    margin: 0 !important;
    padding: 0 0 0 32px !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    text-align: left !important;
}

body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox .checkbox input[type="checkbox"],
body.route-checkout-simplecheckout .simplecheckout-button-right .form-check input[type="checkbox"] {
    position: absolute !important;
    left: 14px !important;
    top: 12px !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 0 !important;
    margin: 0 !important;
    accent-color: #4285f4;
}

/* Ссылки в согласии — тем же кеглем, что и текст вокруг */

body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox .checkbox label a,
body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox .checkbox label b {
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* Тема вешает на `.checkbox` рамку в 1 точку — из-за неё квадратик
   согласия стоял на точку правее соседнего (158.5 против 157.5). */

body.route-checkout-simplecheckout .simplecheckout-button-right #agreement_checkbox .checkbox {
    border: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   Сетка каталога: цена и кнопка по одной линии. 07.09.2026.

   Карточки в ряду одной высоты, но цена с кнопкой шли сразу за
   названием — а название бывает в две строки, бывает в три. На
   телефоне замер показал разброс в 16 точек: в одном ряду цена на
   547, в соседней карточке на 531.

   Тема пыталась прижать их книзу отступом `auto` у блока
   характеристик, но на узком экране этот блок скрыт и потому в
   раскладке не участвует — прижимать стало нечем.

   Прижимаем сам блок цены. Прежний отступ в 10 точек переносим
   во внутренний, иначе он растворился бы в `auto`.
   ═══════════════════════════════════════════════════════════ */

.product-thumb .caption .price-actions-box {
    margin-top: auto !important;
    padding-top: 10px;
}

/* ═══════════════════════════════════════════════════════════
   Режим работы — в подсказке у телефона. 07.09.2026.

   Раньше расписание висело отдельной строкой под телефоном в
   шапке и занимало место на самом видном ряду. В шаблоне у
   выпадающего списка уже был предусмотрен первый пункт под
   произвольный текст — расписание перенесено туда настройкой
   темы (`arbitrary_text`), а подпись под телефоном очищена.

   Здесь только оформление: заголовок тёмный, строки светлее и
   мельче, черта отделяет расписание от кнопки звонка.
   ═══════════════════════════════════════════════════════════ */

.drop-contacts > li:first-child {
    padding: 0 0 10px !important;
    margin-bottom: 8px;
    border-bottom: 1px solid #eef1f5;
    font-size: 13px;
    line-height: 19px;
    color: #6b7280;
    white-space: nowrap;
}

.drop-contacts > li:first-child strong {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}

/* Пустая подпись под телефоном места не занимает, но пусть её и
   в разметке не будет видно. */

.text_after_phone:empty {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   Окно «Заказать звонок». 07.09.2026.

   Было: рисунок 311×224 занимал половину окна и выталкивал форму
   за верхний край экрана (окно 865 точек при видимой области
   900), поля без подписей — только красная звёздочка, кнопка
   фиолетовая, тогда как все действия на сайте зелёные.

   Подписи полей, маска телефона под Казахстан, строка о согласии
   и почта для заявок заведены настройками модуля; здесь только
   оформление.
   ═══════════════════════════════════════════════════════════ */

#popup-callback .popup-image img {
    max-width: 148px !important;
    height: auto !important;
}

#popup-callback .popup-image {
    margin-bottom: 6px;
}

/* Поля — как на оформлении заказа */

#popup-callback .form-control {
    height: 46px !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    font-size: 14px !important;
}

#popup-callback .form-control:focus {
    border-color: #9ca3af !important;
    box-shadow: none !important;
}

/* Согласие — тише основного текста */

#popup-callback .anytext-callback {
    margin-bottom: 14px !important;
    font-size: 12px !important;
    line-height: 17px !important;
    color: #6b7280 !important;
}

/* Кнопка — тот же зелёный, что у заказа, и во всю ширину */

#popup-callback .modal-footer .text-left {
    text-align: center !important;
}

#popup-callback .modal-footer .chm-btn-primary {
    width: 100% !important;
    height: 50px !important;
    border-radius: 10px !important;
    background: #25b341 !important;
    border-color: #25b341 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

#popup-callback .modal-footer .chm-btn-primary:hover,
#popup-callback .modal-footer .chm-btn-primary:focus {
    background: #1fa03a !important;
    border-color: #1fa03a !important;
}
