/* ============================================
   WooCommerce — shop & product archives
   ============================================ */

.woocommerce-page-wrapper {
    width: 100%;
}

/* ============================================
   Shop hero banner
   ============================================ */

.shop-hero-wrapper {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 0;
}

.shop-hero {
    position: relative;
    margin: 100px 0 0;
    border-radius: 30px;
    overflow: hidden;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .05);
    box-shadow: 0 5px 15px rgba(0, 0, 0, .05);
}

.shop-hero__picture {
    display: block;
    overflow: hidden;
}

.shop-hero__image {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 1;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.shop-hero__placeholder {
    width: 100%;
    aspect-ratio: 3 / 1;
    background: -webkit-linear-gradient(315deg, #225e99 0%, #3796ca 100%);
    background: linear-gradient(135deg, #225e99 0%, #3796ca 100%);
}

.shop-hero__slide {
    position: relative;
}

.shop-hero__link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.shop-hero__dots {
    position: absolute;
    bottom: 22px;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    z-index: 3;
}

.shop-hero__dots .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .55);
    cursor: pointer;
    -webkit-transition: background .3s linear, width .3s linear;
    transition: background .3s linear, width .3s linear;
}

.shop-hero__dots .swiper-pagination-bullet-active {
    width: 24px;
    background: #fff;
}

/* ============================================
   Catalog layout
   ============================================ */

.shop-catalog {
    padding-top: 24px;
    padding-bottom: 96px;
}

.shop-catalog_no-banner {
    padding-top: 96px;
}

.shop-catalog_category {
    padding-top: 96px;
}

.shop-category-desc {
    margin: 0 0 28px;
    max-width: 820px;
    font: 400 16px/1.55 Inter;
    color: #5b6b78;
}

/* ============================================
   Shop toolbar (search, profile, cart)
   ============================================ */

.shop-toolbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 32px;
    padding: 14px 18px;
    background: #fff;
    border-radius: 12px;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-toolbar__search {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 280px;
    flex: 1 1 280px;
    min-width: 0;
    max-width: 480px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.shop-toolbar__search-input {
    width: 100%;
    height: 46px;
    padding: 0 54px 0 16px;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    font: 400 15px/1.4 Inter;
    color: #27343c;
    background: #fafbfc;
    -webkit-transition: border-color .2s linear, background .2s linear;
    transition: border-color .2s linear, background .2s linear;
}

.shop-toolbar__search-input:focus {
    border-color: #225e99;
    background: #fff;
}

.shop-toolbar__search-input::-webkit-search-decoration,
.shop-toolbar__search-input::-webkit-search-cancel-button,
.shop-toolbar__search-input::-webkit-search-results-button,
.shop-toolbar__search-input::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none;
}

.shop-toolbar__search-input::-webkit-input-placeholder {
    color: #8a99a6;
}

.shop-toolbar__search-input::-moz-placeholder {
    color: #8a99a6;
}

.shop-toolbar__search-input:-ms-input-placeholder {
    color: #8a99a6;
}

.shop-toolbar__search-btn {
    width: 38px;
    height: 38px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    right: 6px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 8px;
    background: #225e99;
    color: #fff;
    -webkit-transition: background .2s linear;
    transition: background .2s linear;
}

.shop-toolbar__search-btn:hover {
    background: #3796ca;
}

.shop-toolbar__search-clear {
    position: absolute;
    top: 50%;
    right: 50px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    color: #8a99a6;
    font: 400 22px/1 Inter;
    -webkit-transition: color .2s linear;
    transition: color .2s linear;
}

.shop-toolbar__search-clear:hover {
    color: #225e99;
}

.shop-toolbar__search_active .shop-toolbar__search-input {
    padding-right: 96px;
}

.shop-search-results {
    margin-bottom: 20px;
    font: 500 15px/1.4 Inter;
    color: #5b6b78;
}

.shop-toolbar__actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.shop-toolbar__action {
    height: 46px;
    padding: 0 16px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    background: #fff;
    font: 500 15px/1 Inter;
    color: #27343c;
    -webkit-transition: border-color .2s linear, color .2s linear;
    transition: border-color .2s linear, color .2s linear;
}

.shop-toolbar__action svg {
    color: #225e99;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.shop-toolbar__action:hover {
    border-color: #225e99;
    color: #225e99;
}

.shop-toolbar__cart-count {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 999px;
    background: #225e99;
    color: #fff;
    font: 600 12px/1 Inter;
}

@media (max-width: 767px) {
    .shop-toolbar {
        padding: 12px 14px;
        margin-bottom: 24px;
    }

    .shop-toolbar__search {
        max-width: none;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }

    .shop-toolbar__actions {
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .shop-toolbar__action {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .shop-toolbar__action_cart {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .shop-toolbar__action_catalog {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    }
}

.shop-catalog__cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 40px;
}

/* 330px — ширина, при которой даже самое длинное название
   («Футер 2-х ниточный с начёсом» = 29 символов) умещается в строку.
   Перенос всё равно поддержан и выглядит опрятно — см. .shop-cats__link. */
.shop-catalog__sidebar {
    width: 330px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.shop-catalog__content {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
}

/* ============================================
   Sidebar (categories tree)
   ============================================ */

.shop-sidebar {
    position: sticky;
    top: 104px;
    background: #fff;
    border-radius: 12px;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    overflow: hidden;
}

.shop-sidebar__top {
    position: relative;
    padding: 22px 24px 0;
}

.shop-sidebar__button {
    display: none;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: 0 0;
    border: none;
}

.shop-sidebar__button:after {
    content: "";
    width: 9px;
    height: 9px;
    margin: -5px 0 0;
    position: absolute;
    top: 50%;
    right: 24px;
    border-right: 2px solid #27343c;
    border-bottom: 2px solid #27343c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: -webkit-transform .3s linear;
    transition: transform .3s linear;
}

.shop-sidebar__button.active:after {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}

.shop-sidebar__title {
    position: relative;
    display: block;
    padding-bottom: 16px;
    font: 600 18px/24px Inter;
    text-transform: uppercase;
    color: #27343c;
    text-decoration: none;
}

.shop-sidebar__title:hover {
    color: #225e99;
}

.shop-sidebar__title:after {
    content: "";
    width: 40px;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 2px;
    background: #225e99;
}

.shop-sidebar__nav {
    padding: 0 12px 16px;
}

.shop-cats {
    margin: 0;
    padding: 0;
}

.shop-cats__item {
    margin: 0;
    padding: 0;
}

/* Тонкий разделитель между группами верхнего уровня — чтобы длинное
   название, перенесённое на вторую строку, не читалось как два пункта. */
.shop-cats__item_parent + .shop-cats__item_parent {
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid #f0f4f8;
}

.shop-cats__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    font: 500 16px/1.3 Inter;
    color: #27343c;
    -webkit-transition: background .2s linear, color .2s linear, -webkit-box-shadow .2s linear;
    transition: background .2s linear, color .2s linear, box-shadow .2s linear;
}

/* Название переносится по словам; максимум три строки, дальше — многоточие. */
.shop-cats__name {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    overflow-wrap: break-word;
}

/* Счётчик выровнен по первой строке и не «висит» посередине пункта. */
.shop-cats__count {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 24px;
    height: 19px;
    padding: 0 6px;
    border-radius: 999px;
    background: #f1f5f9;
    font: 400 11px/1 Inter;
    color: #7b8b99;
    -webkit-transition: background .2s linear, color .2s linear;
    transition: background .2s linear, color .2s linear;
}

.shop-cats__chevron {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 7px;
    height: 7px;
    margin-top: 5px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: .45;
}

.desktop .shop-cats__link:hover {
    background: #f7fafd;
    color: #225e99;
    -webkit-box-shadow: inset 3px 0 0 #225e99;
    box-shadow: inset 3px 0 0 #225e99;
}

.desktop .shop-cats__link:hover .shop-cats__count {
    background: #e2eefa;
    color: #225e99;
}

.shop-cats__item_parent > .shop-cats__link {
    font: 600 16px/1.3 Inter;
}

.shop-cats__item_active > .shop-cats__link {
    background: #f0f6fc;
    color: #225e99;
    -webkit-box-shadow: inset 3px 0 0 #225e99;
    box-shadow: inset 3px 0 0 #225e99;
}

.shop-cats__item_active > .shop-cats__link .shop-cats__count {
    background: #dcebf8;
    color: #225e99;
}

/* Ветка текущей категории подсвечивается — видно, в каком разделе мы находимся. */
.shop-cats__item_in-path > .shop-cats__link {
    color: #225e99;
}

.shop-cats__item_in-path > .shop-cats__sub,
.shop-cats__item_active > .shop-cats__sub {
    border-left-color: #c9dcf0;
}

.shop-cats__sub {
    margin: 2px 0 6px;
    padding: 0 0 0 12px;
    border-left: 1px solid #e7ecf3;
}

.shop-cats__sub .shop-cats__link {
    padding: 7px 12px;
    font: 400 15px/1.3 Inter;
    color: #5b6b78;
}

.shop-cats__sub .shop-cats__count {
    background: #f5f8fb;
}

.desktop .shop-cats__sub .shop-cats__link:hover .shop-cats__count,
.shop-cats__sub .shop-cats__item_active > .shop-cats__link .shop-cats__count {
    background: #e2eefa;
}

.desktop .shop-cats__sub .shop-cats__link:hover {
    color: #225e99;
}

/* ============================================
   Products grid
   ============================================ */

.shop-products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.shop-empty {
    padding: 40px 0;
    font: 400 18px/1.5 Inter;
    color: #5b6b78;
}

/* ============================================
   Product card
   ============================================ */

.product-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
    -webkit-transition: -webkit-transform .2s ease, -webkit-box-shadow .2s ease;
    transition: transform .2s ease, box-shadow .2s ease;
}

.product-card:hover {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
    -webkit-box-shadow: 0 8px 28px rgba(0, 0, 0, .15);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .15);
}

.product-card__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    color: inherit;
    text-decoration: none;
}

.product-card__image {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f4f6f8;
}

.product-card__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    -webkit-transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
}

.product-card:hover .product-card__image img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.product-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 10px;
    border-radius: 6px;
    background: #225e99;
    color: #fff;
    font: 600 12px/1 Inter;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.product-card__badge_cart {
    left: auto;
    right: 12px;
    background: #225e99;
}

.product-card__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 16px 18px 20px;
}

.product-card__title {
    margin: 0 0 8px;
    font: 600 17px/1.35 Inter;
    color: #1a1a1a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Всплывающая подсказка с полным названием товара (для обрезанных заголовков) */
.product-card__tooltip {
    position: fixed;
    z-index: 10000;
    max-width: 320px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #27343c;
    color: #fff;
    font: 400 13px/1.45 Inter;
    text-align: left;
    -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, .22);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .22);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    -webkit-transition: opacity .16s ease, visibility .16s ease, -webkit-transform .16s ease;
    transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}

.product-card__tooltip::after {
    content: "";
    position: absolute;
    left: var(--arrow-left, 50%);
    bottom: -5px;
    width: 10px;
    height: 10px;
    background: #27343c;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
}

.product-card__tooltip_below::after {
    top: -5px;
    bottom: auto;
}

.product-card__tooltip.is-visible {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.product-card__cats {
    margin: 0 0 12px;
    font: 400 13px/1.4 Inter;
    color: #8a99a6;
}

.product-card__cats a {
    color: #8a99a6;
}

.desktop .product-card__cats a:hover {
    color: #225e99;
}

.product-card__footer {
    margin-top: auto;
}

.product-card__price {
    font: 700 17px/1.3 SFProDisplay;
    color: #225e99;
}

.product-card__price del {
    font: 400 14px/1.2 SFProDisplay;
    color: #b9c4cc;
}

.product-card__price ins {
    text-decoration: none;
}

.product-card__unit {
    font: 400 13px/1.2 Inter;
    color: #225e99;
    white-space: nowrap;
}

/* Метка «от» перед ценой (раздел «Набивка»): «от 885 руб. за кг».
   Используется в каталоге, карточке товара, корзине и обзоре заказа. */
.price-from {
    font-weight: 400;
    white-space: nowrap;
}

/* ============================================
   Pagination
   ============================================ */

.shop-pagination {
    margin-top: 48px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.shop-pagination .page-numbers {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 8px;
    border: 1px solid #e0e7ee;
    text-decoration: none;
    color: #27343c;
    font: 500 15px/1 Inter;
    -webkit-transition: background .2s, color .2s, border-color .2s;
    transition: background .2s, color .2s, border-color .2s;
}

.shop-pagination .page-numbers:hover {
    background: #225e99;
    color: #fff;
    border-color: #225e99;
}

.shop-pagination .page-numbers.current {
    background: #225e99;
    color: #fff;
    border-color: #225e99;
}

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 1100px) {
    .shop-products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1023px) {
    .shop-catalog__cols {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 24px;
    }

    .shop-catalog__sidebar {
        width: 100%;
    }

    .shop-sidebar {
        position: static;
    }

    .shop-sidebar__button {
        display: block;
    }

    .shop-sidebar__title {
        display: inline-block;
        padding-right: 0;
        z-index: 2;
    }

    .shop-sidebar__nav {
        display: none;
        padding-top: 4px;
    }
}

@media (min-width: 1024px) {
    .shop-sidebar__nav {
        display: block !important;
    }
}

@media (max-width: 1200px) {
    .shop-hero {
        border-radius: 15px;
    }
}

@media (max-width: 767px) {
    .shop-hero {
        border-radius: 10px;
    }

    .shop-hero__dots {
        bottom: 14px;
    }

    .shop-catalog {
        padding-top: 20px;
        padding-bottom: 64px;
    }

    .shop-catalog_no-banner,
    .shop-catalog_category {
        padding-top: 96px;
    }

    .shop-products {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .product-card__body {
        padding: 12px 14px 16px;
    }

    .product-card__title {
        font-size: 14px;
    }

    .product-card__price {
        font-size: 16px;
    }
}

/* ============================================
   Single product page
   ============================================ */

.shop-product-page {
    padding-top: 104px;
    padding-bottom: 96px;
}

.shop-breadcrumbs {
    margin-bottom: 28px;
}

.shop-breadcrumbs .woocommerce-breadcrumb {
    margin: 0;
    font: 400 14px/1.4 Inter;
    color: #8a99a6;
}

.shop-breadcrumbs .woocommerce-breadcrumb a {
    color: #8a99a6;
    text-decoration: none;
    -webkit-transition: color .2s linear;
    transition: color .2s linear;
}

.shop-breadcrumbs .woocommerce-breadcrumb a:hover {
    color: #225e99;
}

.shop-product {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 48px;
    margin-bottom: 64px;
}

.shop-product__gallery {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 46%;
    flex: 0 0 46%;
    max-width: 46%;
    min-width: 0;
    position: relative;
}

.shop-product__summary {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    text-align: center;
}

/* Gallery */
/* Специфичность повышена, чтобы перебить дефолтный стиль WooCommerce
   (.woocommerce span.onsale — жёлто-оливковый круг). */
.shop-product .shop-product__gallery span.onsale {
    position: absolute;
    top: 16px;
    left: 16px;
    right: auto;
    z-index: 3;
    display: inline-block;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 6px 10px;
    border-radius: 6px;
    background: #225e99;
    color: #fff;
    font: 600 12px/1 Inter;
    line-height: 1;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.shop-product .shop-product__gallery .woocommerce-product-gallery.images {
    position: relative;
    float: none;
    width: 100%;
}

.shop-product__gallery .woocommerce-product-gallery__wrapper {
    margin: 0;
}

.shop-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__image img,
.shop-product__gallery .woocommerce-product-gallery.images .woocommerce-product-gallery__image--placeholder img {
    width: 100%;
    aspect-ratio: 1 / 1;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    -webkit-box-shadow: 0 12px 30px rgba(0, 0, 0, .20);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .20);
}

.shop-product .shop-product__gallery .woocommerce-product-gallery.images {
    margin-bottom: 0;
}

.shop-product__gallery .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 38px;
    height: 38px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    color: #27343c;
}

.shop-product__gallery .flex-control-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.shop-product__gallery .flex-control-nav li {
    list-style: none;
    margin: 0;
}

.shop-product__gallery .flex-control-nav img {
    width: 70px;
    height: 70px;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid transparent;
    opacity: .8;
    -webkit-transition: border-color .2s linear, opacity .2s linear;
    transition: border-color .2s linear, opacity .2s linear;
}

.shop-product__gallery .flex-control-nav img.flex-active,
.shop-product__gallery .flex-control-nav img:hover {
    border-color: #225e99;
    opacity: 1;
}

.shop-product__color-note {
    margin: 16px 0 0;
    padding-left: 12px;
    font: 400 13px/1.5 Inter;
    color: #a5b1bb;
}

/* Summary */
.shop-product__summary .product_title {
    margin: 0 0 16px;
    font: 700 28px/1.15 SFProDisplay;
    color: #27343c;
}

.shop-product__category {
    margin: -6px 0 16px;
}

.shop-product__category a {
    font: 500 16px/1.3 Inter;
    color: #8a99a6;
    text-decoration: none;
    -webkit-transition: color .2s linear;
    transition: color .2s linear;
}

.shop-product__category a:hover {
    color: #225e99;
}

.shop-product .shop-product__summary.entry-summary p.price,
.shop-product .shop-product__summary.entry-summary span.price {
    margin: 0 0 20px;
    font: 700 28px/1 SFProDisplay;
    color: #225e99;
}

.shop-product .shop-product__summary.entry-summary .price del {
    font-size: .7em;
    font-weight: 400;
    color: #b9c4cc;
}

.shop-product .shop-product__summary.entry-summary .price ins {
    text-decoration: none;
}

.shop-product .shop-product__summary.entry-summary .price::after {
    content: "за кг";
    margin-left: 8px;
    font: 400 14px/1.2 Inter;
    color: #225e99;
}

.shop-product__summary .woocommerce-product-details__short-description {
    margin: 0 0 24px;
    font: 400 16px/1.6 Inter;
    color: #5b6b78;
}

.shop-product__summary .woocommerce-product-details__short-description p {
    margin: 0 0 10px;
}

.shop-product__summary form.cart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px;
    margin: 0 0 8px;
}

.shop-product__summary form.cart table.variations {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    border: none;
}

.shop-product__summary form.cart table.variations tbody {
    display: block;
}

.shop-product__summary form.cart table.variations tr {
    display: block;
    margin-bottom: 12px;
}

.shop-product__summary form.cart table.variations tr:last-child {
    margin-bottom: 0;
}

.shop-product__summary form.cart table.variations th.label {
    display: block;
    width: auto;
    margin: 0 0 4px;
    padding: 0;
    font: 600 13px/1.3 Inter;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #27343c;
}

.shop-product__summary form.cart table.variations td.value {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    padding: 0;
    border: none;
}

.shop-product .shop-product__summary.entry-summary form.cart table.variations select {
    width: 340px;
    max-width: 100%;
    min-width: 0;
    height: 40px;
    margin: 0;
    text-align: left;
    padding: 0 40px 0 14px;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    background: #fafbfc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6b78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 14px center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font: 400 15px/1.4 Inter;
    color: #27343c;
    -webkit-transition: border-color .2s linear;
    transition: border-color .2s linear;
}

.shop-product .shop-product__summary.entry-summary form.cart table.variations select:hover,
.shop-product .shop-product__summary.entry-summary form.cart table.variations select:focus {
    border-color: #3796ca;
    outline: none;
}

.shop-product__summary form.cart a.pax-reset-variations {
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    margin: 0;
    border: 1px solid #e0e7ee;
    border-radius: 8px;
    background: #fff;
    font: 500 13px/1 Inter;
    color: #5b6b78;
    text-decoration: none;
    -webkit-transition: color .2s linear, border-color .2s linear;
    transition: color .2s linear, border-color .2s linear;
}

.shop-product__summary form.cart a.pax-reset-variations.is-visible {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
}

.shop-product__summary form.cart a.pax-reset-variations::before {
    content: "";
    width: 14px;
    height: 14px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-3-6.7L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-3-6.7L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.shop-product__summary form.cart a.pax-reset-variations:hover {
    color: #225e99;
    border-color: #225e99;
}

.shop-product__summary form.cart .single_variation_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 14px;
}

.shop-product__summary .woocommerce-variation-add-to-cart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 12px;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-price .price {
    margin: 0;
    font: 700 24px/1 SFProDisplay;
    color: #225e99;
}

/* Цена вариации показывается вместо диапазона сверху, дублирующий блок скрываем. */
.shop-product__summary .woocommerce-variation-price {
    display: none;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation.single_variation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 14px;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-availability {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation .sku_wrapper {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    font: 400 14px/1.5 Inter;
    color: #8a99a6;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-price {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-description {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 100%;
    flex: 1 0 100%;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-description:empty {
    display: none;
}

.shop-product__summary .woocommerce-variation-availability,
.shop-product__summary .woocommerce-variation-description {
    font: 400 14px/1.5 Inter;
    color: #5b6b78;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-availability .stock {
    margin: 0;
    font: 500 14px/1.5 Inter;
    color: #2f9e44;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-availability .stock::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin-right: 7px;
    vertical-align: 1px;
    background: currentColor;
}

.shop-product .shop-product__summary.entry-summary .woocommerce-variation-availability .stock.out-of-stock {
    color: #c0392b;
}

.shop-product__summary form.cart .quantity {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    position: relative;
    margin: 0;
}

.shop-product__summary form.cart .quantity .qty {
    width: 110px;
    height: 40px;
    padding: 0 40px 0 12px;
    text-align: center;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    font: 500 16px/1 Inter;
    color: #27343c;
    -moz-appearance: textfield;
    appearance: textfield;
}

.shop-product__summary form.cart .quantity .qty::-webkit-outer-spin-button,
.shop-product__summary form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.shop-product__summary form.cart .quantity::after {
    content: "кг";
    position: absolute;
    top: 50%;
    right: 14px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font: 500 15px/1 Inter;
    color: #8a99a6;
    pointer-events: none;
}

.shop-product__summary form.cart .single_add_to_cart_button {
    height: 40px;
    padding: 0 28px;
    border: 1px solid #225e99;
    border-radius: 10px;
    background: #225e99;
    color: #fff;
    font: 500 16px/1 Inter;
    -webkit-transition: background .2s linear, border-color .2s linear;
    transition: background .2s linear, border-color .2s linear;
}

.shop-product__summary form.cart .single_add_to_cart_button:hover {
    background: #3796ca;
    border-color: #3796ca;
}

.shop-product .shop-product__summary form.cart .single_add_to_cart_button.disabled,
.shop-product .shop-product__summary form.cart .single_add_to_cart_button.wc-variation-selection-needed {
    background: #225e99;
    border-color: #225e99;
    color: #fff;
    opacity: 1;
}

/* Тост «Товар добавлен в корзину» */
.pax-toast {
    position: fixed;
    top: 104px;
    right: 24px;
    z-index: 9999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    border-radius: 10px;
    background: #225e99;
    color: #fff;
    font: 500 15px/1.4 Inter;
    -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    opacity: 0;
    -webkit-transform: translateX(24px);
    transform: translateX(24px);
    pointer-events: none;
    -webkit-transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, transform .3s ease;
}

.pax-toast_show {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.pax-toast__check {
    font-weight: 700;
    color: #7fc3f5;
}

/* Подсказка «меньше минимального объёма» над полем количества */
.pax-minqty-note {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    z-index: 30;
    width: -webkit-max-content;
    width: max-content;
    max-width: 300px;
    padding: 10px 14px;
    background: #27343c;
    color: #fff;
    border-radius: 8px;
    font: 400 13px/1.45 Inter;
    -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
    -webkit-transition: opacity .25s ease, -webkit-transform .25s ease, visibility .25s;
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
    pointer-events: none;
}

.pax-minqty-note::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 20px;
    border: 6px solid transparent;
    border-top-color: #27343c;
}

.pax-minqty-note_show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.shop-product__summary .product_meta {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #e7ecf3;
    font: 400 14px/1.6 Inter;
    color: #5b6b78;
}

.shop-product__summary .product_meta > span {
    display: block;
}

.shop-product__summary .product_meta .posted_in {
    display: none;
}

.shop-product.product-type-variable .product_meta {
    display: none;
}

.shop-product__summary .product_meta a {
    color: #225e99;
    text-decoration: none;
}

.shop-product__summary .product_meta a:hover {
    color: #3796ca;
}

/* Tabs */
.shop-product__tabs .woocommerce-tabs ul.tabs {
    margin: 0 0 24px;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid #e7ecf3;
}

.shop-product__tabs .woocommerce-tabs ul.tabs li {
    list-style: none;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    border-radius: 0;
}

.shop-product__tabs .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 12px 20px;
    font: 600 15px/1 Inter;
    color: #5b6b78;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    -webkit-transition: color .2s linear, border-color .2s linear;
    transition: color .2s linear, border-color .2s linear;
}

.shop-product__tabs .woocommerce-tabs ul.tabs li a:hover {
    color: #225e99;
}

.shop-product__tabs .woocommerce-tabs ul.tabs li.active a {
    color: #225e99;
    border-bottom-color: #225e99;
}

.shop-product__tabs .woocommerce-tabs .panel {
    padding: 8px 0;
    font: 400 16px/1.6 Inter;
    color: #27343c;
}

.shop-product__tabs .woocommerce-tabs .panel h2 {
    display: none;
}

/* Single product responsive */
@media (max-width: 900px) {
    .shop-product {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 32px;
    }

    .shop-product__gallery {
        -webkit-box-flex: none;
        -ms-flex: none;
        flex: none;
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .shop-product-page {
        padding-top: 96px;
        padding-bottom: 64px;
    }

    .shop-product__summary .product_title {
        font-size: 24px;
    }

    .shop-product .shop-product__summary.entry-summary .price {
        font-size: 24px;
    }

    .shop-product .shop-product__summary.entry-summary form.cart table.variations select {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

/* ============================================
   Cart page
   ============================================ */

.shop-cart-page {
    padding-top: 104px;
    padding-bottom: 96px;
}

.shop-cart__title {
    margin: 0 0 32px;
    font: 700 32px/1.2 SFProDisplay;
    color: #27343c;
}

.shop-cart-page .woocommerce {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 40px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.shop-cart-page .woocommerce-notices-wrapper {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}

.shop-cart-page .woocommerce-message,
.shop-cart-page .woocommerce-info,
.shop-cart-page .woocommerce-error {
    margin: 0 0 24px;
    padding: 16px 20px;
    border: 1px solid #e0e7ee;
    border-left: 4px solid #225e99;
    border-radius: 10px;
    background: #f7fafd;
    font: 400 15px/1.5 Inter;
    color: #27343c;
    list-style: none;
}

.shop-cart-page .woocommerce-message::before,
.shop-cart-page .woocommerce-message::after,
.shop-cart-page .woocommerce-info::before,
.shop-cart-page .woocommerce-info::after,
.shop-cart-page .woocommerce-error::before,
.shop-cart-page .woocommerce-error::after {
    display: none;
    content: none;
}

.shop-cart-page .woocommerce-cart-form {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 680px;
    flex: 1 1 680px;
    min-width: 0;
}

.shop-cart-page .cart-collaterals {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 320px;
    flex: 0 0 320px;
    max-width: 100%;
}

.shop-cart-page .woocommerce .shop_table {
    width: 100%;
    border: none;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-cart-page .woocommerce .shop_table th {
    padding: 16px 20px;
    text-align: left;
    font: 600 13px/1.3 Inter;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #8a99a6;
    background: #fafbfc;
    border-bottom: 1px solid #e7ecf3;
}

.shop-cart-page .woocommerce .shop_table td {
    padding: 20px;
    border-bottom: 1px solid #eef2f6;
    font: 400 15px/1.5 Inter;
    color: #27343c;
    vertical-align: middle;
}

.shop-cart-page .woocommerce .shop_table tbody tr:last-child td {
    border-bottom: none;
}

.shop-cart-page .woocommerce-cart-form .shop_table {
    table-layout: fixed;
}

.shop-cart-page .woocommerce .shop_table th.product-remove {
    width: 48px;
}

.shop-cart-page .woocommerce .shop_table th.product-thumbnail {
    width: 96px;
}

.shop-cart-page .woocommerce .shop_table th.product-price {
    /* 152px вместо 116px: в колонку должно влезать «от 885.58 руб.» */
    width: 152px;
}

.shop-cart-page .woocommerce .shop_table th.product-quantity {
    width: 140px;
}

.shop-cart-page .woocommerce .shop_table th.product-subtotal {
    /* 180px вместо 130px: суммы вроде «309,953.00 руб.» не переносятся
       (пробел в валюте — nbsp) и раньше вылезали за границы ячейки. */
    width: 180px;
}

.shop-cart-page .woocommerce .shop_table td.product-remove {
    padding: 20px 8px 20px 20px;
}

.shop-cart-page .woocommerce .shop_table td.product-thumbnail {
    padding: 20px 8px 20px 8px;
}

.shop-cart-page .woocommerce .shop_table td.product-name {
    padding-left: 14px;
}

.shop-cart-page .woocommerce .product-thumbnail img {
    width: 80px;
    height: 80px;
    max-width: none;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

.shop-cart-page .product-remove a.remove {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f4f6f8;
    color: #8a99a6 !important;
    font: 400 20px/1 Inter;
    text-decoration: none;
    -webkit-transition: background .2s linear, color .2s linear;
    transition: background .2s linear, color .2s linear;
}

.shop-cart-page .product-remove a.remove:hover {
    background: #c0392b;
    color: #fff !important;
}

.shop-cart-page .product-name a {
    font: 600 15px/1.4 Inter;
    color: #27343c;
    text-decoration: none;
}

.shop-cart-page .product-name a:hover {
    color: #225e99;
}

.shop-cart-page .product-name .variation {
    margin: 6px 0 0;
    font: 400 13px/1.5 Inter;
    color: #5b6b78;
}

.shop-cart-page .product-name .variation dt,
.shop-cart-page .product-name .variation dd {
    display: inline;
    margin: 0;
}

.shop-cart-page .product-name .variation dt {
    font-weight: 600;
}

.shop-cart-page .product-price,
.shop-cart-page .product-subtotal {
    font: 600 15px/1.4 Inter;
    color: #27343c;
}

.shop-cart-page .woocommerce .shop_table td.product-price .amount {
    display: inline-block;
}

/* «от» должно стоять на одной строке с ценой, а не с подписью «за кг»,
   которая выводится блоком под суммой (см. .amount::after ниже). */
.shop-cart-page .woocommerce .shop_table td.product-price .price-from-wrap {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 4px;
    vertical-align: middle;
}

.shop-cart-page .woocommerce .shop_table td.product-price .amount::after {
    content: "за кг";
    display: block;
    margin-top: 2px;
    font: 400 13px/1.3 Inter;
    color: #8a99a6;
}

.shop-cart-page .quantity {
    position: relative;
    display: inline-block;
}

.shop-cart-page .quantity::after {
    content: "кг";
    position: absolute;
    right: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font: 500 14px/1 Inter;
    color: #8a99a6;
    pointer-events: none;
}

.shop-cart-page .quantity .qty {
    width: 104px;
    height: 40px;
    padding: 0 34px;
    text-align: center;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    font: 500 15px/1 Inter;
    color: #27343c;
    -moz-appearance: textfield;
    appearance: textfield;
}

.shop-cart-page .quantity .qty::-webkit-outer-spin-button,
.shop-cart-page .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.shop-cart-page .woocommerce .shop_table td.actions {
    padding: 0;
    border-bottom: none;
}

.shop-cart-page .woocommerce .shop_table td.actions .button[name="update_cart"] {
    display: none;
}

.shop-cart-page .coupon {
    float: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.shop-cart-page .coupon .input-text {
    height: 46px;
    padding: 0 16px;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 120px;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    font: 400 15px/1.4 Inter;
    color: #27343c;
    background: #fff;
}

.shop-cart-page .coupon .button,
.shop-cart-page .actions .button[name="update_cart"] {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 46px;
    padding: 0 22px;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    background: #fff;
    font: 500 15px/1 Inter;
    color: #27343c;
    cursor: pointer;
    -webkit-transition: border-color .2s linear, color .2s linear;
    transition: border-color .2s linear, color .2s linear;
}

.shop-cart-page .coupon .button:hover,
.shop-cart-page .actions .button[name="update_cart"]:hover {
    border-color: #225e99;
    color: #225e99;
}

.shop-cart-page .woocommerce .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-cart-page .cart_totals h2 {
    margin: 0 0 20px;
    font: 700 22px/1.3 SFProDisplay;
    color: #27343c;
}

.shop-cart-page .cart_totals .shop_table {
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
}

.shop-cart-page .cart_totals .shop_table th,
.shop-cart-page .cart_totals .shop_table td {
    padding: 13px 0;
    background: none;
    border-bottom: 1px solid #eef2f6;
    font: 400 15px/1.5 Inter;
}

.shop-cart-page .cart_totals .shop_table th {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    color: #5b6b78;
    background: none;
}

.shop-cart-page .cart_totals .order-total th,
.shop-cart-page .cart_totals .order-total td {
    border-bottom: none;
    font: 700 20px/1.3 SFProDisplay;
    color: #27343c;
}

.shop-cart-page .cart_totals .shop_table td {
    text-align: right;
}

.shop-cart-page .cart_totals .order-total .amount::after {
    content: "*";
    margin-left: 4px;
    font: 600 13px/1 SFProDisplay;
    vertical-align: super;
    color: #8a99a6;
}

.shop-cart-page .cart_totals .cart-subtotal {
    display: none;
}

.shop-cart-page .wc-proceed-to-checkout {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #eef2f6;
    font-size: 0; /* схлопываем пробельные текстовые узлы между сноской и кнопкой */
}

.shop-cart-page .shop-cart__note {
    margin: 0 0 16px;
    font: 400 13px/1.55 Inter;
    color: #8a99a6;
}

.shop-cart-page .woocommerce .wc-proceed-to-checkout a.checkout-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    margin: 0;
    border-radius: 10px;
    background: #225e99;
    color: #fff !important;
    font: 600 16px/1 Inter;
    text-decoration: none;
    -webkit-transition: background .2s linear;
    transition: background .2s linear;
}

.shop-cart-page .woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
    background: #3796ca;
}

.shop-cart-page .wc-empty-cart-message {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
}

.shop-cart-page .cart-empty.woocommerce-info::before,
.shop-cart-page .cart-empty.woocommerce-info::after {
    display: none;
    content: none;
}

.shop-cart-page .cart-empty {
    margin: 0 0 20px;
    padding: 40px;
    border: 1px solid #e0e7ee;
    border-radius: 12px;
    background: #fff;
    font: 500 18px/1.5 Inter;
    color: #5b6b78;
    text-align: center;
}

.shop-cart-page .return-to-shop {
    display: none;
}

.shop-cart-new {
    margin-top: 56px;
}

.shop-cart-new__title {
    margin: 0 0 24px;
    font: 700 26px/1.3 SFProDisplay;
    color: #27343c;
}

.shop-cart-new .shop-products {
    grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1100px) {
    .shop-cart-new .shop-products {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 1023px) {
    .shop-cart-page .woocommerce {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }

    .shop-cart-page .woocommerce-cart-form {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }

    .shop-cart-page .cart-collaterals {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .shop-cart-page {
        padding-top: 96px;
        padding-bottom: 64px;
    }

    .shop-cart__title {
        font-size: 26px;
        margin-bottom: 24px;
    }

    /* Таблица: каждая позиция — отдельная карточка */
    .shop-cart-page .woocommerce .shop_table {
        display: block;
        background: transparent;
        border-radius: 0;
        overflow: visible;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .shop-cart-page .woocommerce .shop_table tbody {
        display: block;
    }

    .shop-cart-page .woocommerce .shop_table thead {
        display: none;
    }

    /* Скрываем пустую строку действий (купон отключён, кнопка обновления скрыта) */
    .shop-cart-page .woocommerce .shop_table tbody tr:not(.woocommerce-cart-form__cart-item) {
        display: none;
    }

    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        position: relative;
        padding: 16px;
        margin-bottom: 16px;
        border: 1px solid #e7ecf3;
        border-radius: 12px;
        background: #fff;
        -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
        box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    }

    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item:last-child {
        margin-bottom: 0;
    }

    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td {
        display: block;
        padding: 0;
        border: 0;
        text-align: left !important;
    }

    /* Фото — слева, крупнее */
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-thumbnail {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 80px;
        margin-right: 14px;
    }

    .shop-cart-page .woocommerce .product-thumbnail img {
        width: 80px;
        height: 80px;
    }

    /* Название и характеристики — справа от фото */
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-name {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        min-width: 0;
        padding-right: 8px;
        margin-bottom: 12px;
    }

    /* Кнопка удаления — справа от названия, у верхнего края */
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-remove {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: auto;
        text-align: right !important;
    }

    /* Цена / количество / сумма — строки с подписью и значением */
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price,
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity,
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 9px 0;
        border-top: 1px solid #eef2f6;
    }

    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }

    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity {
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5;
    }

    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal {
        -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
        order: 6;
    }

    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-price::before,
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-quantity::before,
    .shop-cart-page .woocommerce .shop_table tbody tr.woocommerce-cart-form__cart-item td.product-subtotal::before {
        content: attr(data-title);
        font: 500 13px/1.4 Inter;
        color: #8a99a6;
    }

    .shop-cart-page .woocommerce .shop_table .product-thumbnail::before,
    .shop-cart-page .woocommerce .shop_table .product-remove::before,
    .shop-cart-page .woocommerce .shop_table .product-name::before {
        content: none;
    }
}

/* ============================================
   Checkout page
   ============================================ */

.shop-checkout-page {
    padding-top: 104px;
    padding-bottom: 96px;
}

.shop-checkout-page .woocommerce-checkout .col2-set {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 500px 28px 1fr;
    grid-template-columns: 500px minmax(0, 1fr);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    -webkit-column-gap: 28px;
    column-gap: 28px;
}

.shop-checkout-page .woocommerce-checkout .col2-set .col-1,
.shop-checkout-page .woocommerce-checkout .col2-set .col-2 {
    float: none;
    width: auto;
    min-width: 0;
    padding: 28px;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-checkout-page .woocommerce-checkout .col2-set .col-1 {
    -ms-grid-column: 1;
    grid-column: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.shop-checkout-page .woocommerce-checkout .col2-set .col-2 {
    -ms-grid-column: 3;
    grid-column: 2;
}

/* Порядок блоков в левой колонке: поля -> примечание -> галочка -> кнопка */
.shop-checkout-page .woocommerce-checkout .col2-set .col-1 .woocommerce-billing-fields {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.shop-checkout-page .woocommerce-checkout .col2-set .col-1 .woocommerce-additional-fields {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 20px;
}

.shop-checkout-page .woocommerce-checkout .col2-set .col-1 .woocommerce-account-fields {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.shop-checkout-page .woocommerce-checkout .col2-set .col-1 .form-row.place-order {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
}

/* Заголовки */
.shop-checkout-page .woocommerce-billing-fields h3,
.shop-checkout-page .woocommerce-additional-fields h3 {
    display: none;
}

.shop-checkout-page .woocommerce-billing-fields::before {
    content: "Данные покупателя";
    display: block;
    margin: 0 0 20px;
    font: 700 22px/1.3 SFProDisplay;
    color: #27343c;
}

.shop-checkout-page #order_review_heading {
    margin: 0 0 20px;
    font: 700 22px/1.3 SFProDisplay;
    color: #27343c;
}

/* Поля формы */
.shop-checkout-page .woocommerce form .form-row {
    margin: 0 0 16px;
    padding: 0;
}

.shop-checkout-page .woocommerce form .form-row:last-child {
    margin-bottom: 0;
}

.shop-checkout-page .woocommerce form .form-row label {
    display: block;
    margin: 0 0 6px;
    font: 500 14px/1.4 Inter;
    color: #27343c;
}

.shop-checkout-page .woocommerce form .form-row label .required {
    color: #c0392b;
    text-decoration: none;
}

.shop-checkout-page .woocommerce form .form-row .optional {
    display: none;
}

.shop-checkout-page .woocommerce-shipping-fields:empty {
    display: none;
}

.shop-checkout-page .woocommerce form .input-text,
.shop-checkout-page .woocommerce form textarea {
    width: 100%;
    padding: 0 16px;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    font: 400 15px/1.4 Inter;
    color: #27343c;
    background: #fafbfc;
    -webkit-transition: border-color .2s linear, background .2s linear;
    transition: border-color .2s linear, background .2s linear;
}

.shop-checkout-page .woocommerce form .input-text {
    height: 46px;
}

.shop-checkout-page .woocommerce form textarea.input-text {
    height: 150px;
    padding: 16px;
    resize: vertical;
}

/* Регистрация (создание учётной записи) */
.shop-checkout-page .woocommerce-account-fields {
    margin: 20px 0 0;
}

.shop-checkout-page .woocommerce-checkout .woocommerce-account-fields .form-row.create-account .woocommerce-form__label-for-checkbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    margin: 0;
    font: 500 15px/1.4 Inter;
    color: #27343c;
    cursor: pointer;
}

.shop-checkout-page .woocommerce-checkout .woocommerce-account-fields .form-row.create-account .woocommerce-form__input-checkbox {
    width: 18px;
    height: 18px;
    margin: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    accent-color: #225e99;
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
    cursor: pointer;
}

.shop-checkout-page .woocommerce form .input-text:focus,
.shop-checkout-page .woocommerce form textarea.input-text:focus {
    border-color: #225e99;
    background: #fff;
    outline: none;
}

/* Плейсхолдеры — серые (в main.css по умолчанию белые) */
.shop-checkout-page .woocommerce form .input-text::placeholder,
.shop-checkout-page .woocommerce form textarea::placeholder {
    color: #8a99a6;
    opacity: 1;
}

.shop-checkout-page .woocommerce form .input-text::-webkit-input-placeholder,
.shop-checkout-page .woocommerce form textarea::-webkit-input-placeholder,
.shop-checkout-page .woocommerce form .input-text::-moz-placeholder,
.shop-checkout-page .woocommerce form textarea::-moz-placeholder,
.shop-checkout-page .woocommerce form .input-text:-ms-input-placeholder,
.shop-checkout-page .woocommerce form textarea:-ms-input-placeholder {
    color: #8a99a6;
    opacity: 1;
}

/* Обзор заказа */
.shop-checkout-page .woocommerce-checkout-review-order-table {
    width: 100%;
    border: none;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.shop-checkout-page .woocommerce-checkout-review-order-table thead {
    display: none;
}

.shop-checkout-page .woocommerce-checkout-review-order-table th,
.shop-checkout-page .woocommerce-checkout-review-order-table td {
    padding: 13px 0;
    background: none;
    border-bottom: 1px solid #eef2f6;
    font: 400 15px/1.5 Inter;
    color: #27343c;
}

.shop-checkout-page .woocommerce-checkout-review-order-table tbody td.product-name {
    text-align: left;
}

.shop-checkout-page .woocommerce-checkout-review-order-table tbody td.product-total,
.shop-checkout-page .woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
}

.shop-checkout-page .woocommerce-checkout-review-order-table .cart-subtotal {
    display: none;
}

.shop-checkout-page .woocommerce-checkout-review-order-table .order-total th,
.shop-checkout-page .woocommerce-checkout-review-order-table .order-total td {
    border-bottom: none;
    font: 700 20px/1.3 SFProDisplay;
    color: #27343c;
}

/* Сноска «кг» после количества в обзоре заказа */
.shop-checkout-page .woocommerce-checkout-review-order-table .product-quantity::after {
    content: " кг";
    font: 400 14px/1 Inter;
    color: #8a99a6;
}

/* Цена за кг со меткой «от» у позиций «Набивки» в обзоре заказа */
.shop-checkout-page .woocommerce-checkout-review-order-table .price-from-unit {
    margin-top: 4px;
    font: 400 13px/1.5 Inter;
    color: #8a99a6;
}

/* Прячем дублирующуюся кнопку в обзоре заказа (кнопка вынесена влево) */
.shop-checkout-page #order_review #payment {
    display: none;
}

/* Кнопка оформления — в левой колонке */
.shop-checkout-page .woocommerce-checkout .col-1 .form-row.place-order {
    margin: 16px 0 0;
    padding: 0;
}

/* Текст про персональные данные — мелкий, неприметный */
.shop-checkout-page .woocommerce-checkout .place-order .woocommerce-terms-and-conditions-wrapper {
    margin: 0;
}

.shop-checkout-page .woocommerce-checkout .place-order .woocommerce-privacy-policy-text p {
    margin: 0 0 14px;
    font: 400 12px/1.5 Inter;
    color: #8a99a6;
}

.shop-checkout-page .woocommerce-checkout .place-order .woocommerce-privacy-policy-text a {
    color: #8a99a6;
    text-decoration: underline;
}

.shop-checkout-page #place_order {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    border: none;
    border-radius: 10px;
    background: #225e99;
    color: #fff !important;
    font: 600 16px/1 Inter;
    cursor: pointer;
    -webkit-transition: background .2s linear;
    transition: background .2s linear;
}

.shop-checkout-page #place_order:hover {
    background: #3796ca;
}

@media (max-width: 767px) {
    .shop-checkout-page {
        padding-top: 96px;
        padding-bottom: 64px;
    }

    .shop-checkout-page .woocommerce-checkout .col2-set {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -webkit-column-gap: 0;
        column-gap: 0;
        row-gap: 24px;
    }

    .shop-checkout-page .woocommerce-checkout .col2-set .col-1,
    .shop-checkout-page .woocommerce-checkout .col2-set .col-2 {
        -ms-grid-column: 1;
        grid-column: 1;
    }
}

/* ============================================
   Order received (thank you) page
   ============================================ */

.shop-checkout-page .woocommerce-order {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 28px 360px;
    grid-template-columns: minmax(0, 1fr) 360px;
    -webkit-column-gap: 28px;
    column-gap: 28px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

/* Уведомление об успешном заказе */
.shop-checkout-page .woocommerce-order .woocommerce-notice--success {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1 / -1;
    margin: 0 0 24px;
    padding: 16px 20px;
    border: 1px solid #d3eeda;
    border-radius: 12px;
    background: #eefaf1;
    color: #2f9e44;
    font: 500 16px/1.5 Inter;
}

/* Сводка заказа: номер, дата, итого */
.shop-checkout-page .woocommerce-order .woocommerce-order-overview {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1 / -1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-checkout-page .woocommerce-order .woocommerce-order-overview li {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-width: 0;
    padding: 20px 24px;
    border-right: 1px solid #eef2f6;
    font: 400 13px/1.4 Inter;
    color: #8a99a6;
}

.shop-checkout-page .woocommerce-order .woocommerce-order-overview li:last-child {
    border-right: none;
}

.shop-checkout-page .woocommerce-order .woocommerce-order-overview li strong {
    display: block;
    margin-top: 6px;
    font: 600 18px/1.3 SFProDisplay;
    color: #27343c;
}

/* Карточки: состав заказа и платёжный адрес */
.shop-checkout-page .woocommerce-order .woocommerce-order-details {
    -ms-grid-column: 1;
    grid-column: 1;
}

.shop-checkout-page .woocommerce-order .woocommerce-customer-details {
    -ms-grid-column: 3;
    grid-column: 2;
}

.shop-checkout-page .woocommerce-order .woocommerce-order-details,
.shop-checkout-page .woocommerce-order .woocommerce-customer-details {
    margin: 0 0 24px;
    padding: 28px;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-checkout-page .woocommerce-order .woocommerce-order-details__title,
.shop-checkout-page .woocommerce-order .woocommerce-column__title {
    margin: 0 0 20px;
    font: 700 22px/1.3 SFProDisplay;
    color: #27343c;
}

/* Таблица состава заказа */
.shop-checkout-page .woocommerce-order .woocommerce-table--order-details {
    width: 100%;
    border: none;
    border-collapse: collapse;
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.shop-checkout-page .woocommerce-order .woocommerce-table--order-details thead th {
    padding: 0 0 12px;
    border-bottom: 1px solid #eef2f6;
    font: 500 13px/1.4 Inter;
    color: #8a99a6;
    text-align: left;
}

.shop-checkout-page .woocommerce-order .woocommerce-table--order-details thead th:last-child {
    text-align: right;
}

.shop-checkout-page .woocommerce-order .woocommerce-table--order-details th,
.shop-checkout-page .woocommerce-order .woocommerce-table--order-details td {
    padding: 14px 0;
    background: none;
    border-bottom: 1px solid #eef2f6;
    font: 400 15px/1.5 Inter;
    color: #27343c;
}

.shop-checkout-page .woocommerce-order .woocommerce-table--order-details tbody td.product-name {
    text-align: left;
}

.shop-checkout-page .woocommerce-order .woocommerce-table--order-details tbody td.product-total,
.shop-checkout-page .woocommerce-order .woocommerce-table--order-details tfoot td {
    text-align: right;
}

.shop-checkout-page .woocommerce-order .woocommerce-table--order-details tfoot th {
    font-weight: 400;
    color: #8a99a6;
}

.shop-checkout-page .woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th,
.shop-checkout-page .woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td {
    border-bottom: none;
}

/* Убираем «Подытог» в деталях заказа */
.shop-checkout-page .woocommerce-order .woocommerce-table--order-details tfoot tr:first-child {
    display: none;
}

/* Сноска «кг» после количества */
.shop-checkout-page .woocommerce-order .product-quantity::after {
    content: " кг";
    font: 400 14px/1 Inter;
    color: #8a99a6;
}

/* Свойства товара (состав, плотность, качество...) */
.shop-checkout-page .woocommerce-order .wc-item-meta {
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
    font: 400 13px/1.5 Inter;
    color: #8a99a6;
}

.shop-checkout-page .woocommerce-order .wc-item-meta li {
    margin: 0 0 2px;
}

.shop-checkout-page .woocommerce-order .wc-item-meta li p {
    display: inline;
    margin: 0;
    padding: 0;
}

/* Платёжный адрес */
.shop-checkout-page .woocommerce-order .woocommerce-customer-details address {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font: 400 15px/1.6 Inter;
    font-style: normal;
    color: #27343c;
}

.shop-checkout-page .woocommerce-order .woocommerce-customer-details address p {
    margin: 6px 0 0;
}

@media (max-width: 767px) {
    .shop-checkout-page .woocommerce-order {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -webkit-column-gap: 0;
        column-gap: 0;
    }

    .shop-checkout-page .woocommerce-order .woocommerce-notice--success,
    .shop-checkout-page .woocommerce-order .woocommerce-order-overview,
    .shop-checkout-page .woocommerce-order .woocommerce-order-details,
    .shop-checkout-page .woocommerce-order .woocommerce-customer-details {
        -ms-grid-column: 1;
        grid-column: 1;
    }

    .shop-checkout-page .woocommerce-order .woocommerce-order-overview li {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
        border-right: none;
        border-bottom: 1px solid #eef2f6;
    }

    .shop-checkout-page .woocommerce-order .woocommerce-order-overview li:last-child {
        border-bottom: none;
    }
}

/* ============================================
   My Account page
   ============================================ */

.shop-account-page {
    padding-top: 104px;
    padding-bottom: 96px;
}

/* --- Вход / Регистрация --- */
.shop-account-page .woocommerce > .u-columns.col2-set,
.shop-account-page .woocommerce #customer_login {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 28px 1fr;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 28px;
    column-gap: 28px;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.shop-account-page .woocommerce .u-column1,
.shop-account-page .woocommerce .u-column2 {
    float: none;
    width: auto;
    margin: 0;
    padding: 28px;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-account-page .woocommerce .u-column1 {
    -ms-grid-column: 1;
    grid-column: 1;
}

.shop-account-page .woocommerce .u-column2 {
    -ms-grid-column: 3;
    grid-column: 2;
}

.shop-account-page .woocommerce .u-column1 h2,
.shop-account-page .woocommerce .u-column2 h2 {
    margin: 0 0 20px;
    font: 700 22px/1.3 SFProDisplay;
    color: #27343c;
}

/* Поля форм входа/регистрации и кабинета */
.shop-account-page .woocommerce form .form-row {
    margin: 0 0 16px;
    padding: 0;
}

.shop-account-page .woocommerce form .form-row label {
    display: block;
    margin: 0 0 6px;
    font: 500 14px/1.4 Inter;
    color: #27343c;
}

.shop-account-page .woocommerce form .form-row label .required {
    color: #c0392b;
    text-decoration: none;
}

.shop-account-page .woocommerce form .input-text,
.shop-account-page .woocommerce form select {
    width: 100%;
    height: 46px;
    padding: 0 16px;
    border: 1px solid #e0e7ee;
    border-radius: 10px;
    font: 400 15px/1.4 Inter;
    color: #27343c;
    background: #fafbfc;
    -webkit-transition: border-color .2s linear, background .2s linear;
    transition: border-color .2s linear, background .2s linear;
}

.shop-account-page .woocommerce form .input-text:focus,
.shop-account-page .woocommerce form select:focus {
    border-color: #225e99;
    background: #fff;
    outline: none;
}

.shop-account-page .woocommerce form .input-text::placeholder {
    color: #8a99a6;
    opacity: 1;
}

.shop-account-page .woocommerce form .input-text::-webkit-input-placeholder,
.shop-account-page .woocommerce form .input-text::-moz-placeholder,
.shop-account-page .woocommerce form .input-text:-ms-input-placeholder {
    color: #8a99a6;
    opacity: 1;
}

.shop-account-page .woocommerce form .password-input {
    position: relative;
    display: block;
}

.shop-account-page .woocommerce form .show-password-input {
    position: absolute;
    top: 50%;
    right: 14px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    cursor: pointer;
}

.shop-account-page .woocommerce form .form-row .woocommerce-form-login__rememberme {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    font: 400 14px/1.4 Inter;
    color: #5b6b78;
    cursor: pointer;
}

.shop-account-page .woocommerce form .woocommerce-form-login__rememberme input {
    width: 18px;
    height: 18px;
    margin: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    accent-color: #225e99;
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
    cursor: pointer;
}

/* Кнопки отправки форм — во всю ширину */
.shop-account-page .woocommerce form button[type="submit"],
.shop-account-page .woocommerce-MyAccount-content form button[type="submit"] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 0 22px;
    border: none;
    border-radius: 10px;
    background: #225e99;
    color: #fff;
    font: 600 16px/1 Inter;
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: background .2s linear;
    transition: background .2s linear;
}

.shop-account-page .woocommerce form button[type="submit"]:hover,
.shop-account-page .woocommerce-MyAccount-content form button[type="submit"]:hover {
    background: #3796ca;
    color: #fff;
}

/* Кнопки-ссылки в кабинете (Просмотр товаров и т.п.) */
.shop-account-page .woocommerce-MyAccount-content .button {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: auto;
    height: auto;
    min-height: 42px;
    padding: 0 20px;
    border: none;
    border-radius: 10px;
    background: #225e99;
    color: #fff;
    font: 600 15px/1 Inter;
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: background .2s linear;
    transition: background .2s linear;
}

.shop-account-page .woocommerce-MyAccount-content .button:hover {
    background: #3796ca;
    color: #fff;
}

.shop-account-page .woocommerce form.login .woocommerce-LostPassword {
    margin: 16px 0 0;
}

.shop-account-page .woocommerce form.login .woocommerce-LostPassword a {
    font: 400 14px/1.4 Inter;
    color: #225e99;
}

/* Текст про персональные данные (регистрация) */
.shop-account-page .woocommerce form.register .woocommerce-privacy-policy-text p {
    margin: 0 0 14px;
    font: 400 12px/1.5 Inter;
    color: #8a99a6;
}

.shop-account-page .woocommerce form.register .woocommerce-privacy-policy-text a {
    color: #8a99a6;
    text-decoration: underline;
}

/* --- Кабинет (после входа) --- */
.shop-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 300px 28px minmax(0, 1fr);
    grid-template-columns: 300px minmax(0, 1fr);
    -webkit-column-gap: 28px;
    column-gap: 28px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
}

.shop-account-page .woocommerce-MyAccount-navigation {
    -ms-grid-column: 1;
    grid-column: 1;
    float: none;
    width: auto;
    min-width: 0;
    padding: 20px;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-account-page .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.shop-account-page .woocommerce-MyAccount-navigation ul li {
    margin: 0;
}

.shop-account-page .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    font: 500 15px/1.4 Inter;
    color: #27343c;
    text-decoration: none;
    -webkit-transition: background .2s linear, color .2s linear;
    transition: background .2s linear, color .2s linear;
}

.shop-account-page .woocommerce-MyAccount-navigation ul li a:hover {
    background: #f2f6fa;
    color: #225e99;
}

.shop-account-page .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #225e99;
    color: #fff;
}

.shop-account-page .woocommerce-MyAccount-content {
    -ms-grid-column: 3;
    grid-column: 2;
    float: none;
    width: auto;
    min-width: 0;
    padding: 28px;
    border-radius: 12px;
    background: #fff;
    -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.shop-account-page .woocommerce-MyAccount-content > :first-child {
    margin-top: 0;
}

.shop-account-page .woocommerce-MyAccount-content h2,
.shop-account-page .woocommerce-MyAccount-content h3 {
    margin: 0 0 20px;
    font: 700 20px/1.3 SFProDisplay;
    color: #27343c;
}

.shop-account-page .woocommerce-MyAccount-content p {
    margin: 0 0 16px;
    font: 400 15px/1.5 Inter;
    color: #27343c;
}

/* Уведомления в кабинете (без иконок) */
.shop-account-page .woocommerce .woocommerce-message::before,
.shop-account-page .woocommerce .woocommerce-Message::before,
.shop-account-page .woocommerce .woocommerce-info::before,
.shop-account-page .woocommerce .woocommerce-error::before {
    display: none;
    content: none;
}

.shop-account-page .woocommerce-MyAccount-content .woocommerce-message,
.shop-account-page .woocommerce-MyAccount-content .woocommerce-Message {
    margin: 0 0 20px;
    padding: 14px 16px;
    border: 1px solid #d3eeda;
    border-radius: 10px;
    background: #eefaf1;
    color: #2f9e44;
    font: 500 15px/1.5 Inter;
}

.shop-account-page .woocommerce-MyAccount-content .woocommerce-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 20px;
    padding: 18px 20px;
    border: 1px solid #d5e3f0;
    border-radius: 10px;
    background: #f0f6fb;
    color: #225e99;
    font: 500 15px/1.5 Inter;
}

/* Таблицы (заказы, детали заказа) */
.shop-account-page .woocommerce-MyAccount-content table {
    width: 100%;
    border: none;
    border-collapse: collapse;
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.shop-account-page .woocommerce-MyAccount-content table th,
.shop-account-page .woocommerce-MyAccount-content table td {
    padding: 14px 10px;
    background: none;
    border-bottom: 1px solid #eef2f6;
    font: 400 15px/1.5 Inter;
    color: #27343c;
    text-align: left;
    vertical-align: middle;
}

.shop-account-page .woocommerce-MyAccount-content table thead th {
    font: 500 13px/1.4 Inter;
    color: #8a99a6;
}

.shop-account-page .woocommerce-MyAccount-content table a {
    color: #225e99;
    text-decoration: none;
}

.shop-account-page .woocommerce-MyAccount-content table a:hover {
    text-decoration: underline;
}

/* Сноска «кг» после количества в деталях заказа */
.shop-account-page .woocommerce-MyAccount-content .product-quantity::after {
    content: " кг";
    font: 400 14px/1 Inter;
    color: #8a99a6;
}

/* Убираем «Подытог» в деталях заказа */
.shop-account-page .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot tr:first-child {
    display: none;
}

/* Поля кабинета (edit-account / edit-address) */
.shop-account-page .woocommerce-MyAccount-content form .form-row {
    margin: 0 0 16px;
    padding: 0;
}

/* Скрываем поле страны в контактных данных (нужно для сохранения) */
.shop-account-page .woocommerce-MyAccount-content #billing_country_field {
    display: none;
}

.shop-account-page .woocommerce-MyAccount-content form fieldset {
    margin: 0 0 24px;
    padding: 0;
    border: none;
}

.shop-account-page .woocommerce-MyAccount-content form legend {
    margin: 0 0 16px;
    font: 600 18px/1.3 SFProDisplay;
    color: #27343c;
}

.shop-account-page .woocommerce-MyAccount-content form .clear {
    clear: both;
}

/* Адреса (обзор) */
.shop-account-page .woocommerce-MyAccount-content .woocommerce-Address {
    padding: 20px;
    border: 1px solid #eef2f6;
    border-radius: 12px;
}

.shop-account-page .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
    margin: 0;
}

.shop-account-page .woocommerce-MyAccount-content .woocommerce-Address address {
    margin: 12px 0 0;
    padding: 0;
    border: none;
    background: none;
    font: 400 15px/1.6 Inter;
    font-style: normal;
    color: #27343c;
}

.shop-account-page .woocommerce-MyAccount-content .woocommerce-Address .edit {
    margin-top: 12px;
    display: inline-block;
    font: 500 14px/1 Inter;
    color: #225e99;
    text-decoration: none;
}

@media (max-width: 767px) {
    .shop-account-page {
        padding-top: 96px;
        padding-bottom: 64px;
    }

    .shop-account-page .woocommerce > .u-columns.col2-set,
    .shop-account-page .woocommerce #customer_login {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -webkit-column-gap: 0;
        column-gap: 0;
        row-gap: 24px;
    }

    .shop-account-page .woocommerce .u-column1,
    .shop-account-page .woocommerce .u-column2 {
        -ms-grid-column: 1;
        grid-column: 1;
    }

    .shop-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -webkit-column-gap: 0;
        column-gap: 0;
        row-gap: 24px;
    }

    .shop-account-page .woocommerce-MyAccount-navigation,
    .shop-account-page .woocommerce-MyAccount-content {
        -ms-grid-column: 1;
        grid-column: 1;
    }
}
