body {
    font-family: 'Montserrat', sans-serif;
    /* заголовки */
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
.woocommerce-Price-amount.amount {
    font-family: 'Manrope', sans-serif;
    /* основной текст */

}

a {
    text-decoration: none;
    color: #1d1d1d;
}

html {
    scroll-behavior: smooth;
}

.page-template-default {
    line-height: 170%;
}

.page-template-default .wp-block-list {
    line-height: 250%;
}

.page-template-default .entry-title {
    text-align: center;
    margin: 50px auto;
}

.tax-product_collection #content {
    max-width: 1200px;
    margin: auto;
}

.ft-logo__img.ft-logo__img--light {
    width: 100px !important;
    height: auto;
}

.product-image-wrapper {
    position: relative;

}

.product-image-wrapper.out-of-stock .attachment-woocommerce_thumbnail,
.product-image-wrapper.out-of-stock img {
    filter: grayscale(80%) !important;
    opacity: 0.7;
}

.out-of-stock-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #000;
    color: #fff;
    padding: 5px 10px;
    border-radius: 3px;
    font-weight: bold;
    text-align: center;
    z-index: 2;
    font-size: 11px;
    line-height: 1.2;
}


.topbar__center {
    flex: 1;
    display: flex;
    justify-content: center;
}

.topbar-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 40px;
}

.topbar-menu li {
    margin: 0;
}

.topbar-menu a {
    color: #dbd7cc;
    text-decoration: none;
    font-size: 13px;
}

.kml-hero-slider {
    position: relative
}

.kml-hero-slider__inner {
    overflow: hidden
}

.kml-hero-slide {
    min-height: 520px;
    background-image: var(--kml-bg-desktop);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

@media (max-width: 767px) {
    .kml-hero-slide {
        background-image: var(--kml-bg-mobile, var(--kml-bg-desktop));
    }
}

.kml-hero-slide__content {
    max-width: 1220px;
    margin: 0 auto;
    padding: 40px 20px;
}

.kml-hero-slide__title {
    font-size: clamp(28px, 4vw, 44px);
    text-transform: uppercase;
}

.kml-hero-slide__desc {
    font-size: clamp(16px, 2vw, 20px);
    max-width: 720px
}

.kml-hero-slide__bottom {
    margin-top: 18px;
    display: flex;
    gap: 16px;
    align-items: center
}

.kml-hero-slide__price {
    font-weight: 700;
    font-size: 20px;
    padding: .4em .6em;
    background: #364435;
    position: relative;
    min-width: 120px;
    text-align: center;
    z-index: 3;
}

/* цвет схемы */
.kml-hero-slide--text-white .kml-hero-slide__content {
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
}

.kml-hero-slide--text-black .kml-hero-slide__content {
    color: #111;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
}
}

.kml-hero-slide--text-gold .kml-hero-slide__content {
    color: #dcd8cd;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0);
}

.kml-hero-slide--text-black .kml-hero-slide__price {
    background: #dcd8cd;
}

.kml-hero-slide--text-black .kml-hero-slide__price::after {
    border: 2px solid #dcd8cd;
}

.woocommerce-product-attributes-item.woocommerce-product-attributes-item--collection {
    padding: 10px 0 !important;
}

.kml-hero-slide__price:after {
    border: 2px solid #364435;
    width: 100%;
    height: 100%;
    content: '';
    left: 50%;
    top: 50%;
    padding: 5px;
    position: absolute;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}

.kml-hero-slide__btn {
    display: inline-block;
    padding: .6em 1.1em;
    background: #fff;
    color: #111;
    border-radius: 6px;
    text-decoration: none
}

.kml-hero-slide__btn:hover {
    opacity: .9
}

.kml-hero-slide {
    position: relative;
}

.kml-hero-slide__link {
    position: absolute;
    inset: 0;
    /* top:0; right:0; bottom:0; left:0 */
    display: block;
    z-index: 5;
    /* выше фона, ниже управлений слайдера при необходимости */
    text-indent: -9999px;
    /* скрыть текст, если добавите */
}

.kml-hero-slide__content {
    position: relative;
    z-index: 4;
}

.kml-hero-slide__link:focus {
    outline: 2px solid #fff;
    outline-offset: -2px;
}

.kml-hero-slide {
    cursor: pointer;
}

/* визуально понятно, что кликабельно */
.tns-nav {
    position: absolute;
    bottom: 5%;
    z-index: 3;
    left: 5%;
    gap: 15px;
    display: flex;
    align-items: center;
}

#kml-hero-slider>.tns-item {
    position: relative;
}

.kml-hero-slide--grad::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(97deg, rgba(0, 0, 0, 0.634) 0%, rgba(0, 0, 0, 0) 70%);
    z-index: 2;
}


.kml-hero-slide__title {
    max-width: 40%;
    line-height: normal;
}

.tns-nav button {
    border: 1px solid #fff;
    width: 12px;
    height: 12px;
    border-radius: 10%;
    background-color: #ffffff00;
    position: relative;
}

.tns-nav .tns-nav-active {
    border: 1px solid #fff;
    width: 16px;
    height: 16px;
    border-radius: 10%;
    background-color: #fff;
    position: relative;
}

/* Базовий стан: приховано + зсув */
.kml-hero-slide [data-anim] {
    opacity: 0;
    transform: translateY(20px);
    transition: transform .6s ease, opacity .6s ease;
    will-change: transform, opacity;
}

/* Напрямки */
.kml-hero-slide [data-anim="up"] {
    transform: translateY(44px);
}

.kml-hero-slide [data-anim="down"] {
    transform: translateY(-44px);
}

.kml-hero-slide [data-anim="left"] {
    transform: translateX(48px);
}

.kml-hero-slide [data-anim="right"] {
    transform: translateX(-48px);
}

/* Активний слайд: елементи входять */
.kml-hero-slide.is-active [data-anim] {
    opacity: 1;
    transform: none;
}

/* Акуратність для людей з вимкненими анімаціями */
@media (prefers-reduced-motion: reduce) {
    .kml-hero-slide [data-anim] {
        transition: none !important;
    }
}

/* Контейнер сайдбарного баннера — всегда в ширину колонки */
.kml-term-slider--sidebar {
    width: 100%;
    max-width: 100%;
    max-width: 300px;
    position: relative;
}

/* Слайд: заполняет по aspect-ratio, фон — cover/center */
.kml-term-slide--sidebar {
    width: 100%;
    aspect-ratio: var(--kml-ratio, 16/9);
    /* например 16/9, 4/3, 1/1 */
    height: auto;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    margin: 10px auto;
}

#kml-archive-banner>.tns-item {
    position: relative;

}

#kml-archive-banner>.tns-item:after {
    content: '';
    left: 0%;
    top: 0%;
    background: #0000007d;

    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* Содержимое — компактнее для узкой колонки */
.kml-term-slide--sidebar .kml-term-slide__content {
    position: relative;
    z-index: 1;
    padding: 14px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
    z-index: 4;
    margin-top: 60px;
    text-align: center;
}

.kml-term-slide--sidebar .kml-term-slide__title {
    font-size: 26px;
    line-height: 1.25;
    margin: 0 0 6px;
}

.kml-term-slide--sidebar .kml-term-slide__desc {
    font-size: 20px;
    line-height: 1.35;
    max-height: 3.7em;
    overflow: hidden;
}

.kml-term-slide--sidebar .kml-term-slide__bottom {
    margin-top: 8px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.kml-term-slide--sidebar .kml-term-slide__price {
    font-size: 16px;
    border-radius: 4px;
    font-weight: 700;
    padding: .4em .6em;
    background: #364435;
    position: relative;
    min-width: 120px;
    text-align: center;
    margin: auto;
}

/* Клик по всему слайду */
.kml-term-slide__link {
    position: absolute;
    inset: 0;
    z-index: 0;
}

#kml-archive-banner-ow .tns-nav {
    position: absolute;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Анимации элементов */
.kml-term-slide [data-anim] {
    opacity: 0;
    transform: translateY(20px);
    transition: transform .6s ease, opacity .6s ease;
}

.kml-term-slide [data-anim="up"] {
    transform: translateY(24px);
}

.kml-term-slide [data-anim="down"] {
    transform: translateY(-24px);
}

.kml-term-slide [data-anim="left"] {
    transform: translateX(28px);
}

.kml-term-slide [data-anim="right"] {
    transform: translateX(-28px);
}

.kml-term-slide.is-active [data-anim] {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .kml-term-slide [data-anim] {
        transition: none !important;
    }
}

.collection-banner {
    position: relative;
    background-size: cover;
    background-position: center;
    min-height: 400px;
    /* можна змінити висоту */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    margin-bottom: 30px;
}

.collection-banner::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: #00000052;
    border-radius: 20px;
}

.collection-title {
    color: #fff;
    font-size: 2.5rem;
    margin: 0;
    z-index: 2;
    text-transform: uppercase;
    text-align: center;
}

.collections-grid {
    display: flex;
    gap: 20px;
}

.collection-card {
    text-decoration: none;
    color: inherit;
    width: 33%;

}

.page-template-page-collections main {
    max-width: 1200px;
    margin: 20px auto;
    min-height: 25vw;
}

.collection-card__banner {
    position: relative;
    padding-top: 60%;
    /* соотношение сторон */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 5px;
}

.collection-card__title {
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 10px 20px;
    font-size: 1.2rem;
    text-align: center;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px
}

.topbar {
    background: #364435
}

.topbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 32px
}

.topbar__menu {
    display: flex;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0
}

.site-header {
    position: sticky;
    margin-bottom: 30px;
    top: 0;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
    z-index: 40
}

.breadcrumbs,
.shop-head__left .woocommerce-breadcrumb {
    margin-bottom: 20px;
    font-size: 14px;
    color: #717171;
    display: flex;
    align-items: center;
    gap: 5px;
}

.header__row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    height: 64px;
    gap: 16px
}

.site-logo img {
    height: 32px;
    width: auto
}

.main-nav .menu {
    list-style: none;
    display: flex;
    gap: 22px;
    margin: 0;
    padding: 0
}

.main-nav .menu li {
    padding: 0 12px;
    margin: 0 12px;
}

.main-nav .menu li a {
    position: relative;
}

.main-nav .menu>li>a {
    display: inline-flex;
    align-items: center;
    height: 64px;
    font-weight: 600
}

.main-nav .sub-menu {
    position: absolute;
    left: 0;
    top: 100%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    display: none;
    min-width: 220px;
    padding: 8px
}

.main-nav .menu li:hover>.sub-menu {
    display: block
}

.header-icons {
    display: flex;
    align-items: center;
    gap: 8px
}

.icon-btn {
    position: relative;
    width: 40px;
    height: 40px;
    border: none;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #000;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s;
}

.icon-btn:hover {
    background-color: #dcd8cd8c
}

.badge__num {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ef4444;
    color: #fff;
    border-radius: 10px;
    font-size: 11px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px
}

.cart-wrap {
    position: relative
}

.mini-cart[hidden] {
    display: none
}

.mini-cart {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 320px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    overflow: hidden
}

.searchbar[hidden] {
    display: none
}

.searchbar {
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
    padding: 10px 0
}

.woocommerce-mini-cart__empty-message {
    text-align: center;
    min-height: 100px;
}

.topbar__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
}

.topbar__right p {
    color: #dbd7cc;
}

.topbar__phones a {
    margin-right: 15px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #dbd7cc;
    text-decoration: none;
    font-weight: 500;
}

.topbar__messengers,
.topbar__socials {
    display: flex;
    gap: 15px;
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: 15%;
    padding: 5px;
    background-color: #0000;
}

.topbar__messengers a,
.topbar__socials a {
    color: #fff;
    display: inline-flex;
}

.topbar__left,
.topbar__right {
    display: flex;
    align-items: center;
}

.topbar .icon {
    width: 18px;
    height: 18px;
    fill: #dcd8cd;
    background-color: #404e3f00;
    padding: 4px;
    border-radius: 5px;
    transition: all 0.3s;
}

.topbar .icon--viber:hover .icon {
    fill: #7360f2;
}

.topbar .icon--telegram:hover .icon {
    fill: #2689c5;
}

.topbar .icon--whatsapp:hover .icon {
    fill: #03a157;
}

.new-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 13px;
    background: #ffffff57;
    padding: 5px;
    border-radius: 10px;
    display: none;
}

.topbar .icons:hover .icon {

    background-color: #333d32;
}

.woocommerce-mini-cart__buttons.buttons {
    display: flex;
    justify-content: center;
    margin: auto;
    text-align: center;
}

/* ===== Swatches — layout ===== */
.km-attr {
    margin: 12px 0;
}

.km-attr__head {
    margin-bottom: 8px;
}

.km-attr__label {
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
}

.km-attr__value {
    display: none;
    margin-top: 2px;
    font-size: 12px;
    color: #757575;
}

.km-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

/* ===== Swatch: crisp circle, no “hand-drawn” look ===== */
.km-swatch {
    --km-size: 26px;
    --km-ring: #1111111a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--km-size);
    height: var(--km-size);
    border-radius: 50%;
    background-clip: padding-box;
    /* фон не «лезет» в бордер */
    box-sizing: border-box;
    cursor: pointer;
    line-height: 1;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .15s ease, filter .15s ease;
    border: none;
}

/* Цветные кружки */
.km-swatch--color {
    background: var(--km-swatch, #fff);
}

/* Текстовые чипы (например, размер) */
.km-swatch--text {

    width: auto;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    font-size: 12px;
    background: #fff;
    border: 1px solid #000;
    border-radius: 2px;
    color: #000;
}

.km-swatch--text:after {
    display: none;
}

.km-attr--pa_rozmir .km-swatch--text.is-selected {
    background: #000;
    color: #fff !important;
}

/* Ровное “кольцо” выделения без размытия — отдельным слоем */
.km-swatch::after {
    content: "";
    position: absolute;
    inset: -3px;
    /* кольцо вне бордера */
    border-radius: inherit;
    box-shadow: 0 0 0 0 var(--km-ring);
    opacity: 0;
    transition: box-shadow .18s ease, opacity .18s ease;
    pointer-events: none;
}

/* Hover/Selected/Focus — появление чёткого кольца, без scale */
.km-swatch:hover::after,
.km-swatch.is-selected::after,
.km-swatch:focus-visible::after {
    box-shadow: 0 0 0 2px var(--km-ring);
    opacity: 1;
}

.km-swatch.km-swatch--text.out {
    opacity: 0.3;
    cursor: no-drop;
    position: relative;
    pointer-events: none;
}

.single_add_to_cart_button.button.alt.disabled.wc-variation-is-unavailable {
    opacity: 0.2;
}

/* Доп. отклик — лёгкое осветление без трансформаций (чёткие края) */
.km-swatch:hover {
    filter: brightness(1.02);
}

.km-swatch.is-disabled {
    opacity: .4;
    cursor: not-allowed;
}

/* Опционально: архивные свотчи */
.km-archive-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.km-archive-swatches .km-swatch {
    --km-size: 15px;
}

.km-swatch--more {
    font-size: 12px;
    padding: 0 6px;
    height: 22px;
    border-radius: 11px;
    background: #f3f4f5;
    border: 1px solid #d6d6d6;
}

.km-archive-swatches .km-swatch::after {
    inset: -0px;
}

.variations label,
.reset_variations,
.km-visually-hidden {
    display: none !important;
}

.custom-shipping-block {

    padding-bottom: 20px;
}

.shipping-name,
.delivery-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pay-icons {
    display: flex;
    gap: 5px;
    margin: 10px 0;
}

.pay-icons img {
    background: #f1f1f1;
    border-radius: 5px;
    padding: 0px 5px;
}

.variation {
    display: flex;
    flex-direction: column;
}

.kml-bundle__item {
    display: flex;
    gap: 10px;
}

.kml-bundle__item img {
    border-radius: 5px;
}

.woocommerce-cart-form .kml-bundle {
    display: flex;
    flex-direction: column;
}


.kml-look__items .images {
    max-width: 80px;
}

/* курсор «лупа» */
.woocommerce-product-gallery__image img {
    cursor: zoom-in;
}

/* --- STACK: обёртка под 2 изображения --- */
.km-thumb-wrap {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    /* зафиксируй отношение сторон под твою сетку; можно 4/5, 3/4 и т.п. */
    aspect-ratio: 4/5;
    border-radius: 10px;
}

/* оба изображения — поверх друг друга */
.km-thumb {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;

}

/* вторая картинка скрыта по умолчанию */
.woocommerce ul.products li.product .km-thumb--hover {
    opacity: 0 !important;
    transition: opacity .25s ease;
}

/* показываем вторую картинку при наведении на карточку */
.woocommerce ul.products li.product:hover .km-thumb--hover,
.woocommerce ul.products li.product:focus-within .km-thumb--hover {
    opacity: 1 !important;
}

/* страховка: отключаем любые флоаты/инлайны темы к нашим картинкам */
.woocommerce ul.products li.product .km-thumb--main,
.woocommerce ul.products li.product .km-thumb--hover {
    float: none !important;
}

.post-type-archive-product #content {
    max-width: 1200px !important;
    margin: auto;
}

.post-type-archive-product .woocommerce-loop-product__title {
    color: #000;
    font-weight: 500;
}

.post-type-archive-product .woocommerce-Price-amount.amount {
    color: #000;
    font-weight: 600;
    font-size: 16px
}

.button.view-product-btn {
    position: absolute;
    bottom: 17%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: all 0.3s ease;
    background: #fffffff7;
    padding: 8px 35px;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

.shop-archive .km-archive-swatches {
    float: right;
}

.woocommerce ul.products li.product:hover .button.view-product-btn {
    opacity: 1;
    visibility: visible;
    bottom: 25%;
}

.woocommerce ul.products .km-thumb-wrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
}

.woocommerce ul.products li.product:hover .km-thumb-wrap::before {
    opacity: 1;
}

.woocommerce ul.products li.product:hover .wishlist-toggle {
    opacity: 1;
    top: 2%;

    z-index: 2;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.wishlist-toggle .icon--heart {
    transition: all 0.3s;
}

.woocommerce ul.products li.product .wishlist-toggle {
    position: absolute;
    top: 0%;
    right: 2%;
    opacity: 0;
    transition: all 0.3s ease;
    background: #fff;
    border-radius: 50%;
    padding: 4px;
    display: flex;
}

.main-nav {
    display: flex;
    justify-content: center;
}

.km-stock__status {
    color: #fff;
    border-radius: 10px;
    max-width: 150px;
    text-align: center;
    padding: 5px 15px;
    text-transform: uppercase;
    font-size: 0.8em;
    text-wrap: nowrap;
}

.km-stock__status.instock {
    background: #000;

}

.km-stock__status.outofstock {
    background: #E43131;

}

.km-stock__status.onbackorder {
    background: #c78f65;
}

.km-price__current {
    font-size: 22px;
    font-weight: 600;
    text-wrap: nowrap;
}

.woocommerce-Price-currencySymbol {
    font-size: 0.6em;
}

.km-price__badge {
    background: #7f6238;
    color: #fff;
    padding: 3px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 10px;
    font-weight: 500;
}

.km-price {
    display: flex;
    gap: 5px;
    align-items: center;
}

.km-price__sale {
    color: #ccc;
    text-decoration: line-through;
    font-size: 17px;
    font-weight: 300;
    text-wrap: nowrap;
}


.products.columns-4 .km-badge.km-badge--sale {
    position: absolute;
    z-index: 3;
    background: #7f6238;
    color: #fff;
    padding: 2px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 10px;
    font-weight: 500;
    left: 10px;
    top: 10px;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount,
.woocommerce ul.products li.product .price del .woocommerce-Price-amount bdi,
.woocommerce ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del .amount bdi {
    font-weight: 300 !important;
    color: #000;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    border: 0;
    font-weight: 700;
    color: #111;
    margin-right: 2px;
}

.woocommerce ul.products li.product .price del {
    opacity: .3 !important;
}

.products.columns-4 .star-rating {
    display: none;
}

.kml-item img,
.kml-grid img {
    max-width: 60px;
    height: auto;
    border-radius: 10px;
}

.kml-look__items .km-attr__head {
    display: none;
}

.kml-item,
.kml-card.kml-card--product {
    display: flex;
    align-items: center;
    gap: 10px;
}

.kml-item {
    border-bottom: 1px solid #f0ecec;
    padding: 10px;
}

.cart.kml-look__form del {
    color: #ccc;
}

.kml-item.product .variations {
    margin-bottom: 0;
}

.section-header {
    font-family: 'Manrope', sans-serif;
    font-weight: 600;
    font-size: 20px;
    text-align: center;
    margin: 30px auto;
}

.wishlist-item__link img {
    height: auto;
    max-width: 60px;
    border-radius: 10px;
    display: flex;

}

.wishlist-item {
    display: flex;
    gap: 10px;
    border-bottom: 1px solid #eeeded;
    padding: 10px;
    justify-content: space-between;
    align-items: center;
}

.wishlist-item__link {
    display: flex;
    gap: 10px;
    align-items: center;
}

.remove-from-wishlist {
    cursor: pointer;
    background: none;
    border: none;
    color: #ef4444;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-size: 20px;
}

/* базовые стили кнопки */
.wishlist-toggle {
    background: none;
    border: none;
    cursor: pointer;
    transition: color .2s ease, transform .2s ease;
}

/* заставляем SVG брать цвет из color */
.wishlist-toggle .icon--heart,
.wishlist-toggle .icon--heart * {
    fill: currentColor !important;
    stroke: none !important;
}

/* серый в состоянии "не избранное" */
.wishlist-toggle.not-favorite {
    color: #ccc;
}

/* красный в состоянии "избранное" */
.wishlist-toggle.favorite {
    color: #e53935;
}

.wishlist-toggle.not-favorite .icon--heart {
    color: #ccc;
}

.wishlist-toggle.favorite .icon--heart {
    color: #e53935 !important;
}

#wishlist-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    display: none;
    z-index: 9999;
}

#wishlist-modal .modal-content {
    background: #fff;
    max-width: 560px;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    padding: 20px;
    border-radius: 8px;
    position: relative;
}

#wishlist-modal .modal-close {
    position: absolute;
    right: 10px;
    top: 10px;
    font-size: 22px;
    line-height: 1;
    border: 0;
    background: transparent;
    color: #ccc;
    cursor: pointer;
}

#wishlist-items p {
    text-align: center;
}

.site-footer {
    background: #1d1d1d;
    color: #fff;
    padding: 30px;
}

.site-footer ul {
    list-style: none;
    line-height: 170%;
    padding: 0;
}

.site-footer a {
    color: #dcd8cd;

}

.app-develop {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 8px;
    padding: 5px;
    border-radius: 5px;
    max-width: 220px;
    margin: 10px auto;
    line-height: 180%;
}

.site-footer ul:not(.ft-soc-list) li::before {
    content: '';
    background: #536452;
    left: -20px;
    top: 50%;
    display: block;
    position: absolute;
    width: 2px;
    height: 6px;
    transform: translateY(-50%);
    rotate: -45deg;
}

.site-footer ul li {
    position: relative;
}

.ft-row {
    display: flex;
    gap: 8px;
}

.ft-row.ft-phones a,
.ft-row.ft-emails {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ft-row.ft-phones {
    flex-direction: column;
}

.ft-inner {
    max-width: 1200px;
    margin: auto;
    justify-content: space-between;
    display: flex;
}

.ft-row .icon {
    fill: #fff;
}

.ft-soc__icon {
    fill: #fff;
}

.ft-soc__icon {
    fill: #dcd8cd;
    border-radius: 15%;
    padding: 5px;
    background-color: #0000;
    transition: background-color 0.8s;
}

.ft-soc-list a:hover .ft-soc__icon {
    fill: #1d1d1d;
    background-color: #dcd8cd1c;
}

.ft-soc-list {
    list-style: none;
    display: flex;
    gap: 10px;
}

.ft-soc-list a {
    border-radius: 15%;

    display: flex;
    padding: 5px;
}

.ft-copy {
    text-align: center;
    font-size: 0.8em;
    color: #dcd8cd;
    display: flex;
    flex-direction: column;
}

.ft-logo__img.ft-logo__img--light {
    margin: 20px auto;
}

.ft-contacts {
    line-height: 170%;
    color: #dcd8cd;
}

.ft-title {
    font-family: 'Manrope', sans-serif;
    color: #dcd8cd;
    font-weight: 500;
    font-size: 1.2em;
}

.ft-soc.ft-soc--viber:hover .ft-soc__icon {
    fill: #7360f2;
}

.ft-soc.ft-soc--telegram:hover .ft-soc__icon {
    fill: #2689c5;
}

.ft-soc.ft-soc--whatsapp:hover .ft-soc__icon {
    fill: #03a157;
}

.ft-soc.ft-soc--messenger:hover .ft-soc__icon {
    fill: #0053f9ff;
}

.ft-soc.ft-soc--skype:hover .ft-soc__icon {
    fill: #1558c5ff;
}

/* Оверлей — ниже панели */
.mini-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .42);
    opacity: 0;
    transition: opacity .25s ease;
    z-index: 9998;
    pointer-events: none;
}

.mini-cart-overlay.is-active {
    opacity: 1;
    pointer-events: auto;
}

/* Панель miniCart — поверх */
#miniCart.mini-cart {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: min(380px, 100vw);
    background: #fff;
    z-index: 9999;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    /* скрыто справа */
    transition: transform .3s ease;
    box-shadow: 0 0 20px rgba(0, 0, 0, .15);
    padding: 30px 20px;
}

#miniCart.mini-cart.is-open {
    transform: translateX(0);
}

#miniCart .section-header {
    margin-top: 0px;
}

/* Контент виджета Woo */
#miniCart .widget_shopping_cart_content {
    padding: 14px 16px;
}

.kml-free-ship__msg .woocommerce-Price-amount.amount {
    font-weight: 600;
    color: #4b8148;
    font-size: 1.1em;
}

.kml-free-ship {
    padding: 5px 16px 5px;
    margin-top: 10px;
    background: #dcd8cd63;
    border-radius: 10px;

}

.kml-free-ship__top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
}

.kml-free-ship__msg {
    font-size: 13px;
    line-height: 1;
}

.kml-free-ship__bar {
    position: relative;
    height: 10px;
    background: #fff;
    border-radius: 999px;
    overflow: hidden;
}

.kml-free-ship__bar-fill {
    display: block;
    height: 100%;
    width: 0;
    background: #2ecc71;
    background: linear-gradient(90deg, rgb(83, 116, 98) 0%, rgb(15, 171, 80) 50%);
    transition: width .35s ease;
}

.kml-free-ship__hint {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 6px;
    font-size: 11px;
    color: #777;
}

.page-template-default main {
    max-width: 1200px;
    margin: 50px auto;
    min-height: 25vw;
}

.continue-shopping.btn {
    text-align: center;
    border: 1px solid #536452;
    padding: 10px;
    color: #536452;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.8em;
}

.button.checkout.wc-forward {
    font-size: 0.9em;
}

.woocommerce-ordering {
    position: relative;
    display: inline-block;
    min-width: 200px;
}

.woocommerce-result-count {
    color: #979797;
}

.woocommerce-ordering select {
    width: 100%;
    padding: 8px 28px 8px 20px;
    border: none;
    border-bottom: 1px solid #e1e5e9;
    background: #ffffff;
    font-size: 15px;
    font-weight: 500;
    color: #2d3748;
    appearance: none;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    z-index: 10;
    max-width: 180px;
}

/* Кастомная стрелка */
.woocommerce-ordering::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 11;
}

/* Состояния */
.woocommerce-ordering select:hover {
    border-color: #cbd5e0;
}

.woocommerce-ordering select:focus {
    outline: none;
    border-color: #007cba34;

}

.woocommerce-ordering:focus-within::after {
    transform: translateY(-50%) rotate(180deg);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

/* Стилизация опций */
.woocommerce-ordering select option {
    padding: 12px 20px;
    font-size: 15px;
    color: #2d3748;
    background: white;
    border: none;
}

.woocommerce-ordering select option[value=""] {
    color: #9ca3af;
    font-style: normal;
    display: none;
}

.woocommerce-ordering select option:checked {
    background: #f3f4f6;
    font-weight: 600;
}

.woocommerce-ordering select option:hover {
    background: #007cba;
    color: white;
}

.woocommerce-mini-cart-item.mini_cart_item img {
    max-width: 50px;
    height: auto;
    border-radius: 10px;
}

.woocommerce-mini-cart.cart_list.product_list_widget {
    list-style: none;
}

.woocommerce-mini-cart__total.total {
    text-align: right;
    font-size: 20px;
}

.woocommerce-mini-cart__total.total .woocommerce-Price-amount.amount {
    font-size: 20px;
}

/* ===== Каркас страницы архива ===== */

.products.columns-4,
.products.columns-3 {
    list-style: none;
    padding: 10px;
}

.woocommerce-pagination ul {
    display: flex;
    gap: 10px;
    list-style: none;
    padding: 10px;
}

.woocommerce-pagination li span {
    padding: 10px;
    border: 1px solid #000;
    background: #000;
    color: #fff;
    width: 15px;
    height: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
}

.woocommerce-pagination li a {
    padding: 10px;
    border: 1px solid #000;
    width: 15px;
    height: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    background-color: #fff;
    transition: background-color 0.3s;
}

.products.columns-4 .price {
    font-weight: 600;
}

.woocommerce-pagination li a:hover {
    background: #000;
    color: #fff;
}

.products.columns-4 .product {
    position: relative;
}

/* ===== Шапка каталога перед сеткой ===== */
.shop-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: end;
    max-width: 1200px;
    margin: auto;
    margin-bottom: 16px;
}

.shop-head__left .woocommerce-breadcrumb {
    margin: 0 0 6px 0;
    font-size: .875rem;
    opacity: .8;
}

.shop-head__left .page-title {
    margin: 0;
    line-height: 1.2;
    font-size: 22px;
}

.shop-head__right {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}

/* подправь стандартные элементы сортировки/счётчика */
.woocommerce-result-count {
    margin: 0;
}

.woocommerce-ordering {
    margin: 0;
}

/* ===== 4-колоночная сетка ниже ===== */
.shop-archive {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: start;
    margin-top: 16px;
    /* отделим от шапки */
    max-width: 1200px;
    margin: auto;
    min-height: 23vw;
}

.shop-filters {
    grid-column: 1 / 2;
}

.shop-products {
    grid-column: 2 / 5;
}

ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px !important;
}

ul.products li.product {
    margin: 0 !important;
}

.shop-filter-toggle {
    display: none;
}

/* ===== Мобилка ===== */
@media (max-width:728px) {
    .shop-head {
        grid-template-columns: 1fr;
        gap: 12px;
        align-items: start;
    }

    .shop-head__right {
        justify-content: space-between;
    }

    .pill-list {

        gap: 15px !important;
    }

    .kml-upsell-looks {
        padding-top: 10px;
    }

    .kml-upsell-looks {

        padding-top: 10px;
    }

    .price-range__inputs input[type="number"] {
        font-size: 17px;
    }

    .karmare-live-views {
        margin: 20px auto !important;
    }

    .searchbar .container {
        width: 90% !important;
        margin-inline: auto;
        margin-top: 0px !important;
        top: 50%;
        transform: translate(-50%, -50%);
        position: absolute !important;
        left: 50%;
    }

    .product-template-default .km-swatches {
        gap: 14px;
    }

    .woocommerce-product-details__short-description {
        display: none;
    }

    .woocommerce ul.products .km-thumb-wrap::before {
        display: none;
    }

    .woocommerce ul.products li.product:hover .wishlist-toggle {
        display: none;
    }

    .woocommerce ul.products li.product:hover .button.view-product-btn {
        display: none;

    }

    .woocommerce div.product form.cart .button {
        padding: 20px 50px !important;
        font-size: 14px;
    }

    .shop-archive {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .shop-filter-toggle {
        display: flex;
        gap: 8px;
        align-items: center;
        padding: 10px 14px;
        border: 1px solid #ddd;
        background: #fff;
        border-radius: 6px;
        cursor: pointer;
        width: 120px;
        color: #000;
    }

    /* off-canvas фильтр (как давал раньше) */
    .shop-filters {
        position: fixed;
        top: 0;
        left: 0;
        height: 100dvh;
        width: min(80vw, 360px);
        transform: translateX(-100%);
        transition: transform .3s ease;
        z-index: 1000;
        border-right: 1px solid #e6e6e6;
        background: #fff;
    }

    .shop-filters.is-open {
        transform: translateX(0);
    }

    .shop-filters__inner {
        padding: 30px 16px;
        overflow: auto;
        height: 100%;
    }

    .shop-filter-close {
        display: inline-flex;
        width: 36px;
        height: 36px;
        align-items: center;
        justify-content: center;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: #fff;
        cursor: pointer;
        font-size: 20px;
        line-height: 1;
    }

    body.has-filter-open::after {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .35);
        z-index: 999;
    }

    .shop-products {
        grid-column: 1 / -1;
    }

    ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px !important;
    }
}


/* Основной контейнер страницы товара */
.single-product div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 10px;
    justify-content: space-between;
}

.single-product .kml-item__body {
    width: 50%;
}

#tab-description {
    line-height: 165%;
}

.kml-item__title {
    font-size: 0.8em;
}

/* Левая колонка - галерея */
.single-product .woocommerce-product-gallery {
    flex: 1;
    min-width: 500px;
    max-width: 600px;
}

/* Правая колонка - информация о товаре */
.single-product .summary.entry-summary {
    flex: 1;
    min-width: 400px;
    max-width: 500px;
}

/* Табы на всю ширину */
.single-product .woocommerce-tabs.wc-tabs-wrapper {
    flex: 0 0 100%;
    width: 100%;
    margin-top: 40px;
}

/* Стили для галереи */
.woocommerce-product-gallery {
    position: relative;
}

.woocommerce-product-gallery__wrapper {
    margin-bottom: 15px;
}

.woocommerce-product-gallery__image {
    border-radius: 12px;
    overflow: hidden;
}

.woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.flex-control-nav.flex-control-thumbs {
    display: flex;
    gap: 10px;
    margin: 15px 0 0 0;
    padding: 0;
    list-style: none;
}

.flex-control-nav.flex-control-thumbs li {
    flex: 1;
    max-width: 80px;
}

.flex-control-nav.flex-control-thumbs img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.flex-control-nav.flex-control-thumbs img:hover,
.flex-control-nav.flex-control-thumbs img.flex-active {
    border-color: #536452a1;
}

/* Стили для блока с информацией */
.summary.entry-summary {
    padding: 20px;
}

.product_title.entry-title {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.woocommerce-review-link {
    color: #666;
    text-decoration: none;
    font-size: 14px;
}

.woocommerce-review-link:hover {
    color: #000;
}


/* Форма вариаций */
.variations_form.cart {
    margin-bottom: 30px;
}

.variations {
    margin-bottom: 20px;
}


.woocommerce-tabs.wc-tabs-wrapper {
    padding-top: 40px;
}

.tabs.wc-tabs {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;

}

.tabs.wc-tabs li {
    margin: 0;
}

.tabs.wc-tabs li a {
    display: block;
    padding: 10px 25px;
    text-decoration: none;
    color: #666;
    transition: all 0.3s ease;
}

.tabs.wc-tabs li.active a {
    color: #000;

}

.woocommerce-Tabs-panel {
    padding: 20px 0;
}

.star-rating span {
    display: none;
}

.decrement,
.increment {
    color: #8c8c8c;
}

.qty-btn {
    display: none;
}

.summary.entry-summary .quantity input.qty {
    display: none;
}

/* Убираем стрелки в Chrome, Safari, Edge */
.quantity input::-webkit-outer-spin-button,
.quantity input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}



/* Для красоты */
.quantity input[type=number] {
    appearance: textfield;
    /* общий сброс */
}

.woocommerce div.product form.cart .button {
    width: 70%;
    float: left;
    border-radius: 10px;
    border: none;
    color: #fff;
    padding: 12px 50px;
    background-color: #536452;
    transition: background-color 0.3s;
    margin-right: 10px;
    cursor: pointer;
}

.woocommerce div.product form.cart .button:hover {
    background-color: #537c51;
}

.single-product #content {
    max-width: 1250px;
    margin: auto;
}

.flex-viewport {
    border-radius: 20px !important;
}

.flex-control-nav.flex-control-thumbs li img {
    border-radius: 20px;
}

.karmare-live-views {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 20px 0;
    background: #dcd8cd8c;
    padding: 5px;
    border-radius: 10px;
    font-size: 0.8em;
    max-width: 350px;
    text-align: center;
    justify-content: center;
    color: #575555;
}

.woocommerce-product-details__short-description {
    color: #555;
    letter-spacing: 1px;
}

.custom-shipping-block {
    border-bottom: 1px solid #E9E9E9;
    font-size: 12px;
    line-height: 10px;
    clear: both;
    padding-top: 20px;
}

/* Рейтинг и "сьогодні придбали" — в одну строку и по центру по вертикали */
.single-product .summary .woocommerce-product-rating,
.single-product .summary .karmare-bought-today-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
    margin: 0;
    vertical-align: middle;
    font-size: 0.8em;

}

/* чтобы не переносилось на новую строку при узких контейнерах */
.single-product .summary .woocommerce-product-rating {
    white-space: nowrap;
}

.single-product .summary .karmare-bought-today-inline {
    margin-left: 10px;
}

/* Иконка покупки: поворот + мягкое мерцание */
.karmare-bought-today-inline .km-bought-ico {
    margin-right: 6px;
    transform: rotate(15deg);
    animation: km-flash 2s ease-in-out infinite;
}

@keyframes km-flash {

    0%,
    100% {
        opacity: .15;
    }

    50% {
        opacity: 1;
    }
}

/* ★ Цвет звёзд рейтинга (пустые и заполненные) */
.single-product .summary .star-rating {
    font-size: 16px;
    height: 1em;
    line-height: 1;
    margin: 0;
}

.single-product .summary .star-rating::before {
    color: #E0E0E0 !important;
}

/* пустые звезды (серые) */
.single-product .summary .star-rating span::before {
    color: #afa194 !important;
}

/* заполненные (золотые) */

/* Ссылка на отзывы — аккуратная и по центру */
.single-product .summary .woocommerce-review-link {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    line-height: 1;
    opacity: .85;
}

.single-product .summary .woocommerce-review-link:hover {
    opacity: 1;
}

.woocommerce div.product .woocommerce-product-rating {
    margin-bottom: 0;
}

.km-price-stock {
    margin: 20px auto;
}

.kml-upsell-looks .section-header {
    text-align: left;
}

/* ========= Single product: вертикальные миниатюры слева ========= */
.single-product .woocommerce-product-gallery {
    /* колонка миниатюр + колонка большого изображения */
    --km-thumb-col: 96px;
    /* ширина колонки миниатюр */
    display: grid !important;
    grid-template-columns: var(--km-thumb-col) 1fr;
    gap: 12px;
    align-items: start;
}

/* Основное изображение (контейнер flex-viewport у Woo) — во 2-ю колонку */
.single-product .woocommerce-product-gallery .flex-viewport {
    grid-column: 2;
    order: 2;
}

/* Список миниатюр (Woo: flex-control-thumbs) — в 1-ю колонку вертикально */
.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
    grid-column: 1;
    order: 1;
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    max-height: 560px;
    /* если миниатюр много — появится скролл */
    overflow: auto;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

/* Каждая миниатюра заполняет всю ширину колонки */
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    width: 100% !important;
    margin: 0 !important;
}

/* Квадратные аккуратные превью */
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    width: 100% !important;
    aspect-ratio: 4/5;
    object-fit: cover;
    display: block;
    border-radius: 10px;
    transition: outline-color .15s ease, filter .15s ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    filter: brightness(1.02);
}

.single-product div.product .cart {
    margin-bottom: 20px;
}

/* Бейджи/зум-иконка не должны слетать из-за grid */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    display: block;
}

.single-product .woocommerce-product-gallery .woocommerce-badges {
    grid-column: 2;
}

/* ========= Мобильная версия: миниатюры под фото, горизонтально ========= */
@media (max-width: 767px) {
    .single-product .woocommerce-product-gallery {
        display: block !important;
        /* стандартная раскладка */
    }

    .single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
    .single-product .woocommerce-product-gallery ol.flex-control-thumbs {
        display: flex !important;
        flex-direction: row;
        gap: 8px;
        overflow: visible;
        margin-top: 8px !important;
    }

    .single-product .woocommerce-product-gallery .flex-control-thumbs li {
        width: auto !important;
        flex: 0 0 calc(20% - 6px);
        /* 4–5 миниатюр в ряд; подстрой при желании */
    }

    .single-product .woocommerce-product-gallery .flex-control-thumbs img {
        width: 100% !important;
        aspect-ratio: 1 / 1;
    }
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    text-align: center;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    padding: 0 1.5em !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none !important;
    background-color: #fff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom: 1px solid #000 !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    margin: 0 0 2em;
    padding: 0;
    border: 1px solid #e9e9e9;
    border-radius: 10px;
    padding: 15px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: 22px;
}

.karmare-demand-box {
    margin: 8px 0 14px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 0, 0, .07);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.4
}

.karmare-demand-box>div {
    margin: 2px 0
}

/* анимация апдейта числа */
.karmare-live-views .kv-num {
    display: inline-block;
    font-weight: 600;
    transition: transform .2s ease, opacity .2s ease;
}

.karmare-live-views .kv-num.km-bump {
    transform: scale(1.12);
    opacity: .85;
}

.karmare-bought-today svg {
    transform: rotate(15deg);
    animation: pls-infinite-flash 5s infinite;
}

@keyframes pls-infinite-flash {

    50%,
    0%,
    100% {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0
    }
}

.km-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    ;
    gap: 20px;
    margin: 20px auto;
    font-size: 0.8em;
}

.km-sku {
    color: #999898;

}

/* общие */
.shop-filters__form .filter-block {
    margin: 16px 0;
}

.shop-filters__form h4 {
    margin: 0 0 8px;
    font-weight: 600;
}

.filter-block.kml-subcategories,
.filter-block.kml-color,
.filter-block.kml-rozmir,
.filter-block.kml-sezon,
.filter-block.kml-sale {
    margin: auto;
    border-bottom: 1px solid #cccccc4d;
    padding: 20px 0;
}

.filter-block p {
    font-weight: 500;
    padding: 0 !important;
    margin: 0;
    margin-bottom: 0px;
    margin-bottom: 20px;
}

.filter-block p {
    font-weight: 500;
}

#reset-filters {
    display: none;
}

.woocommerce-info {
    text-align: center;
}

/* цена */
.price-range__inputs {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.price-range__inputs input[type=number] {
    width: 80px;
    padding: 6px 8px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.price-range__slider {
    position: relative;
    height: 34px;
}

.price-range__slider input[type=range] {
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    left: -1%;
    right: 0;
    width: 102%;
    -webkit-appearance: none;
    background: transparent;
    pointer-events: none;
}

.price-range__slider input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #222;
    pointer-events: all;
    cursor: pointer;
}

.price-range__slider input[type=range]::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #222;
    pointer-events: all;
    cursor: pointer;
}

.price-range__bar {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 4px;
    /* толщина полоски */
    transform: translateY(-50%);
    background: #eee;
    border-radius: 999px;
    pointer-events: none;
}

.price-range__bar span {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #222;
    border-radius: 3px;
}

/* для Chrome / Edge / Safari */
.price-range__slider input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 15px;
    /* размер кружка */
    height: 15px;
    border-radius: 50%;
    /* круглый */
    background: #222;
    /* цвет кружка */
    border: 2px solid #fff;
    /* рамка (по желанию) */
    cursor: pointer;
    box-shadow: 0 0 4px rgba(0, 0, 0, .3);
    /* тень */
}

/* для Firefox */
.price-range__slider input[type=range]::-moz-range-thumb {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #222;
    border: 2px solid #fff;
    cursor: pointer;
    box-shadow: 0 0 4px rgba(0, 0, 0, .3);
}

/* Убрать стрелки у number (Chrome, Safari, Edge) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Убрать стрелки у number (Firefox) */
input[type=number] {
    -moz-appearance: textfield;
}

/* табы (цвет/розмір) */
.pill-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pill {
    display: inline-flex;
    color: #424141;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
}

.pill .swatch {
    width: 14px;
    height: 14px;
    border-radius: 50%;
}

.pill.is-selected {
    border-color: #222;
    background: #000;
    color: #fff;
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .05);
}

/* чипсы выбранных фильтров */
.active-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px;
}

.active-filters .chip {
    display: inline-block;
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 999px;
    cursor: pointer;
    user-select: none;
    color: #929191;
    font-size: 14px;
}

.pill.size-pill {
    border-radius: 2px;
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    border-color: #000;
}

.pill.size-pill.is-selected {
    background: #000;
    color: #fff;
}

#reset-filters {
    background: #dcd8cd80;
    border: 1px solid #dcd8cdd1;
    border-radius: 5px;
    padding: 5px 15px;
    color: #4d4d4d;
    cursor: pointer;
    display: flex;
    gap: 5px;
    align-items: center;
}

.filter-block.kml-sale {
    font-size: 0.8em
}

.filter-block.kml-sale .kml-checkbox {
    justify-content: center;
}

.shop-filters__head span {
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    margin: auto;
    display: block;
}

.kml-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-bottom: 12px;
    position: relative;
}

.kml-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
}

.kml-checkbox span {
    position: relative;
    padding-left: 32px;
    transition: color 0.3s ease;
}

.kml-checkbox span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: white;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.kml-checkbox span::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 50%;
    transform: translateY(-70%) rotate(45deg) scale(0);
    width: 4px;
    height: 9px;
    border: solid black;
    border-width: 0 2px 2px 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.kml-checkbox input:checked+span::before {
    background-color: #dcd8cd;
    border-color: #dcd8cd;
    transform: translateY(-50%) scale(1.1);
}

.kml-checkbox input:checked+span::after {
    transform: translateY(-70%) rotate(45deg) scale(1);
}

.kml-checkbox:hover span::before {
    border-color: #dcd8cd;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

ins {
    text-decoration: none !important;
}

.woocommerce-noreviews {
    text-align: center;
    padding: 20px 0;
}

/* лоадер */
.shop-products {
    position: relative;
}

.shop-products.is-loading {
    opacity: .6;
    pointer-events: none;
}

.shop-products .kml-loader {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .6);
    z-index: 3;
}

.shop-products.is-loading .kml-loader {
    display: flex;
}

.kml-spinner {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 3px solid #536452;
    border-top-color: #222;
    animation: kmlspin .8s linear infinite;
}

@keyframes kmlspin {
    to {
        transform: rotate(360deg);
    }
}

/* кнопка "Застосувати" только на мобиле */
.btn-apply {
    display: inline-block;
}

@media (min-width: 992px) {
    .btn-apply {
        display: none;
    }
}

.reviews-summary {
    padding: 20px;
    border: 2px solid #eee;
    border-radius: 20px;
    display: flex;
    gap: 25px;
    justify-content: center;
    align-items: center;
    background: #dcd8cd8c;
}

.reviews-summary .star-rating {
    min-width: 110px;
}

.reviews-summary .rating-count {
    min-width: 10px;
    text-align: center;
}

.reviews-summary-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20%;
}

.reviews-summary-right {
    width: 30%;
}

.ratings-breakdown {
    flex-direction: column;
    display: flex;
    justify-content: center;
}

.rating-item {
    align-items: center;
    gap: 10px;
    color: #696565;
    display: flex;
    margin: 5px 0;
}

.rating-value {
    font-size: 34px;
    font-weight: 600;
}

.review-col1,
.reviews-count {
    color: #8d8989;
    font-size: 12px;
}

/* Звезды рейтинга */
.star-rating {
    display: flex;
    gap: 2px;
}


.star-full {
    fill: #f5a623;
}

.star-empty {
    fill: #ddd;
}

/* Полоска в breakdown */
.ratings-breakdown .rating-item {
    position: relative;
}


/* Форма отзыва */
.stars-select {
    display: flex;
    gap: 5px;
    margin: 10px 0;
}

.stars-select span {
    cursor: pointer;
}

.stars-select span svg {
    width: 30px;
    height: 30px;
    fill: #ddd;
    transition: fill 0.2s;
}

.stars-select span.active svg {
    fill: #f5a623;
}

#leave-review-btn,
.comment-form #submit {
    background-color: #536452;
    color: #fff;
    padding: 10px 25px;
    border: none;
    border-radius: 10px;
    max-width: 200px;
    margin: auto;
    display: block;
    cursor: pointer;
}

#review_form {
    display: flex;
    flex-direction: column;

    align-items: center;
}

.comment-form .stars {
    display: none;
}

.comment-form textarea {
    min-height: 120px;
    border-radius: 10px;
    border: 1px solid #ccc;
    margin-top: 10px;
    padding: 10px;
}

.commentlist .review:not(:first-child) {
    border-top: 1px solid #f0f0f0;
}

.comment-form-comment {
    display: flex;
    flex-direction: column;
}

.woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.woocommerce-product-rating .star-rating {
    display: flex;
    gap: 1px;
}

.woocommerce-product-rating .star-rating svg {
    width: 16px;
    height: 16px;
}

.woocommerce-review-link {
    font-size: 14px;
    color: #666;
}



.checkout.woocommerce-checkout {
    display: flex;
    gap: 40px;
}

#customer_details {
    width: 60%;
}

#order_review {
    width: 38%;
}

.woocommerce-checkout-review-order__list {
    list-style: none;
}

.checkout-review-order-item .item-thumbnail img {
    max-width: 60px;
    height: auto;
    border-radius: 10px;
}

.care-stock-content {
    max-width: 100%;
}

.stock-info-section,
.care-instructions-section {
    margin-bottom: 30px;
}

.care-instructions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px;
    margin-top: 15px;
}

.care-instruction-item {
    display: flex;
    align-items: center;
    padding: 15px;
    background: #dcd8cd8c;
    border-radius: 8px;
    justify-content: center;
}

.care-icon {
    width: 32px;
    height: 32px;
    margin-right: 15px;
    flex-shrink: 0;
    color: #007cba;
}

.care-icon svg {
    width: 100%;
    height: 100%;
}

.care-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

.stock-info {
    line-height: 1.6;
    font-size: 15px;
}

.care-title {
    text-align: center;
    margin-bottom: 30px;
}

#billing_address_1_field,
#billing_address_2_field,
#billing_city_field,
#billing_country_field,
#billing_postcode_field,
#billing_state_field,
#order_comments_field label,
.cart-summary:empty,
.shop_table.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-customer-details--email {
    display: none !important;
}

.np-select-wrap label {
    margin: 10px 0px;
    display: block;
    color: #6c6c6c;
}

/* размер и выравнивание триггера */
.woocommerce-product-gallery__trigger {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #111;
    /* цвет иконки (если используем mask) */
}

/* скрываем дефолтный <span>🔍 */
.woocommerce-product-gallery__trigger>span {
    display: none !important;
}

.woocommerce-billing-fields__field-wrapper {
    display: flex;
    gap: 20px;
}

#place_order {
    background-color: #536452;
    border: none;
    color: #fff;
    width: 80%;
    padding: 10px;
    border-radius: 10px;
    margin: 20px auto;
    display: block;
    cursor: pointer;
    transition: all 0.3s;
    text-transform: uppercase;
}

#place_order:hover {
    background-color: #537c51;
}

#billing_phone {
    padding-left: 30px !important;
}

#billing_phone,
#billing_last_name,
#billing_first_name {
    padding: 10px;
    padding-left: 10px;
    border-radius: 10px;
    border: 1px solid #ccc;

    font-size: 16px;
}

#coupon_code_custom {
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 10px;
}

.phone-loggin {
    position: relative;

}

.phone-prefix {
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
}

.phone-prefix img {
    width: 15px;
    height: 15px;
    border-radius: 50%;
}

#np-row {
    margin-top: 60px;
}

.checkout.woocommerce-checkout h3 span {
    background: #5364524d;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    color: #fff;
    display: flex;
    position: absolute;
    left: -50px;
    top: 50%;
    transform: translateY(-50%);
}

.woocommerce-checkout-review-order h3 span {
    background: #ceccc6 !important;
}

.checkout.woocommerce-checkout h3 {
    position: relative;
    margin-left: 50px;
}

.wc_payment_method label {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    padding-left: 28px;
    font-size: .8em;
    margin: 5px auto;
}

.payment_method_cod label {
    background: url('https://axiory.com.ua/wp-content/themes/axiory2/img/novaposhta.svg') center/15px no-repeat;
    padding-right: 10px;
}

.wc_payment_method label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border: 2px solid #ccc;
    border-top-color: rgb(204, 204, 204);
    border-right-color: rgb(204, 204, 204);
    border-bottom-color: rgb(204, 204, 204);
    border-left-color: rgb(204, 204, 204);
    border-radius: 50%;
    background-color: #fff;
    transition: .2s ease-in-out;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 5px 0;
}

.wc_payment_method input.input-radio {
    opacity: 0;
    position: absolute;
}

.wc_payment_method input.input-radio:checked+label::before {
    border-color: #fff;
    background-color: #519b51;
    box-shadow: 0 0 0 3px rgba(168, 221, 115, .3);
}

.wc_payment_method label {
    cursor: pointer;
    font-size: .8em;
}

.custom-checkbox input:checked~.checkmark {
    background-color: #519b51;
    border-color: #519b51;
    transition: 0.5s ease-in-out;

}

.custom-checkbox {
    display: block;
    position: relative;
    padding-left: 10px;
    margin-bottom: 10px;
    cursor: pointer;
    user-select: none;
    transition: 0.5s ease-in-out;
}

.woocommerce-error {
    display: none;
}

.checkout-inline-error-message {
    color: red;
    font-size: 12px;
    text-align: center;
}

.wc_payment_methods.payment_methods.methods img {
    max-width: 70px;
    margin-left: 20px;
}

.payment_method_cod label {
    background: url('https://axiory.com.ua/wp-content/themes/axiory2/img/novaposhta.svg') right/15px no-repeat;
}

.checkmark {

    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateY(-50%);
    height: 15px;
    width: 15px;
    background-color: #eee;
    border: 1px solid #ddd;
    border-top-color: rgb(221, 221, 221);
    border-right-color: rgb(221, 221, 221);
    border-bottom-color: rgb(221, 221, 221);
    border-left-color: rgb(221, 221, 221);
    border-radius: 4px;
    transition: .3s ease-in-out;
}

.custom-checkbox .checkmark::after {
    left: 5px;
    top: 0;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-top-width: medium;
    border-right-width: medium;
    border-bottom-width: medium;
    border-left-width: medium;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.checkmark::after {
    content: "";
    position: absolute;
    display: none;

}

.custom-checkbox input:checked~.checkmark::after {
    display: block;
}

.form-row.place-order .custom-checkbox {
    font-size: .7em;
}

.wc_payment_methods.payment_methods.methods {
    padding: 15px;
}

.custom-checkbox {
    cursor: pointer;
    position: relative;
    margin-left: 80px;
}

.custom-checkbox input {
    opacity: 0;
    position: absolute;
}

#order_comments {
    width: 300px;
    border-radius: 10px;
    border: 1px solid #ccc;
    padding: 10px;
    min-height: 60px;
    max-width: 100%;
}

/* Элемент сетки как товар */
li.product.kml-grid-banner {
    position: relative;
    list-style: none;
}

/* Внутри — блок с фоном и контентом */
.kml-grid-banner__inner {
    position: relative;
    width: 100%;
    aspect-ratio: 4/5;
    /* можно поменять: 16/9, 1/1 и т.д. */
    background-size: cover;
    background-position: center;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    /* центр по вертикали */
}

.kml-grid-banner__inner:after {
    content: '';
    left: 0%;
    top: 0%;
    background: #0000007b;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* Контент */
.kml-grid-banner__content {
    position: relative;
    width: 100%;
    padding: 16px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .35);
    z-index: 3;
    text-align: center;
}

.kml-grid-banner__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 6px;
}

.kml-grid-banner__desc {
    font-size: 13px;
    line-height: 1.35;
    max-height: 3.8em;
    overflow: hidden;
}

.kml-grid-banner__btn {
    margin-left: 10px;
    display: inline-block;
    padding: .45em .8em;
    background: #fff;
    color: #111;
    border-radius: 6px;
}

/* Кликабельно всё */
.kml-grid-banner__link {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
}

.kml-grid-banner__price {
    font-weight: 700;
    font-size: 18px;
    padding: .4em .6em;
    background: #364435;
    position: relative;
    min-width: 100px;
    text-align: center;
}

.kmlp-marquee {
    position: relative;
    overflow: hidden;
}

.kmlp-track {
    display: flex;
    white-space: nowrap;
    will-change: transform;
}

.kmlp-group {
    display: flex;
    gap: 0;
}

/* gap не нужен — сепаратор задаёт отступы */
.kmlp-item {
    display: inline-block;
}

.kmlp-sep {
    display: inline-block;
    padding: 0 .8rem;
    opacity: .85;
    pointer-events: none;
}

/* Архив — полоса у низа картинки */
.products li.product {
    position: relative;
}

.products li.product .kmlp-prod-marquee {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 60px;
    background: rgb(0, 0, 0);
    color: #fff;
    z-index: 5;
    padding: 4px 0;
    font-size: 13px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Single — верх страницы */
.kmlp-single-marquee-wrap {
    margin: 0 0 12px;
    background: #111;
    color: #fff;
    border-radius: 6px;
    font-size: 13px;
    padding: 5px 0;
}


.kmlp-banner {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    color: #fff;
    background-size: cover;
    background-position: center;
    padding: clamp(16px, 3vw, 32px);
    margin: 30px auto;
    min-height: 400px;
    display: flex;
    justify-content: center;
}

.kmlp-banner:after {
    content: '';
    left: 0%;
    top: 0%;
    background: #0000004a;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.kmlp-banner__content {
    z-index: 3;
}

.kmlp-banner__inner {
    display: flex;
    gap: 20px;
    align-items: center
}

.kmlp-align-center {
    justify-content: center;
    text-align: center
}

.kmlp-banner__imgwrap img {
    display: block;
    max-height: 240px;
    width: auto;
    height: auto
}

.kmlp-title {
    font-size: clamp(22px, 4vw, 42px);
    margin: 0 0 10px;
}

.kmlp-desc {
    font-size: clamp(14px, 2vw, 18px);
    ;
}

.kmlp-cta {
    margin-top: 14px;
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center
}

.kmlp-btn {
    background: #fff;
    color: #111;
    text-decoration: none;
    padding: .6em 1.1em;
    border-radius: 8px;
    font-weight: 600
}

.kmlp-timer {
    display: flex;
    gap: 8px;
    align-items: baseline;
}

.kmlp-timer span {
    font-weight: 500;
    font-size: 1.1em;
    min-width: 2ch;
    text-align: center
}

.kmlp-timer {
    font-size: 30px;
}

.kmlp-timer small {
    font-size: 20px;
}

#kml-hero-slider-mw {
    border-radius: 10px;
}

.has-text-align-center.section-title {
    font-size: 20px;
    margin: 60px auto;
}

.kml-tabs__panel ul.products {
    grid-template-columns: repeat(4, 1fr);
    display: grid !important;
    gap: 14px !important;
}

.kml-tabs__nav {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.kml-tabs__btn.kml-tabs__btn {
    appearance: none;
    border: none;
    background: transparent;
    padding: 8px 0;
    cursor: pointer;
    position: relative;
    font-size: 16px;
    font-weight: 500;
    color: #000;
}

.kml-tabs__btn[aria-selected="true"]::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background: currentColor;
}

.kml-tabs__panel {
    display: none;
}

.kml-tabs__panel.is-active {
    display: block;
}

/* контейнер можно не трогать */
.kml-home-tabs .kml-tabs__viewport {
    overflow: hidden;
    /* чтобы не торчало при сворачивании */
}

/* панели остаются в потоке, переключаем высоту и прозрачность */
.kml-home-tabs .kml-tabs__panel {
    display: block;
    opacity: 0;
    transform: translateY(6px);
    max-height: 0;
    /* сворачиваем неактивную */
    overflow: hidden;
    transition: opacity .25s ease, transform .25s ease, max-height .35s ease;
    will-change: opacity, transform, max-height;
}

.kml-home-tabs .kml-tabs__panel.is-active {
    opacity: 1;
    transform: translateY(0);
    max-height: 9999px;
    /* раскрываем активную */
}

.woocommerce-mini-cart__buttons.buttons {
    border-radius: 10px;
    border: none;
    color: #fff;
    padding: 12px 50px;
    background-color: #536452;
    transition: background-color 0.3s;
    cursor: pointer;
}

.woocommerce-mini-cart__buttons.buttons:hover {
    background-color: #537c51;
}

.woocommerce-mini-cart__buttons.buttons a {
    color: #fff;
}

.woocommerce-mini-cart-item.mini_cart_item .quantity button {
    border: none;
    background: none;
}

.woocommerce-mini-cart.cart_list.product_list_widget {
    padding: 0;
}

.woocommerce-mini-cart-item.mini_cart_item .quantity input.qty {
    width: 10px;
    padding: 10px;
    border: 0;
}

.woocommerce-mini-cart-item.mini_cart_item .quantity button {
    cursor: pointer;
}

.woocommerce-mini-cart-item.mini_cart_item {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    justify-content: space-between;
    margin: 30px auto;
    border-bottom: 1px solid #eeeded;
    padding-bottom: 20px;
}

.woocommerce-mini-cart-item.mini_cart_item .remove.remove_from_cart_button {
    position: absolute;
    right: -20px;
    top: -15px;
    border: 1px solid #b9b9b9;
    width: 10px;
    height: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    color: #8a8a8a;
    padding: 2px;
}

.woocommerce-mini-cart-item.mini_cart_item .product-link-cart {
    display: flex;
    gap: 10px;
    font-size: 14px;
    align-items: baseline;
    flex-direction: column;
}

.woocommerce-mini-cart.cart_list.product_list_widget {
    max-height: 55vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 25px;
}

/* мини-корзина: мягкое появление суммы итога */
#miniCart .woocommerce-mini-cart__total .amount.kml-fade {
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .25s ease, transform .25s ease;
}

#miniCart .woocommerce-mini-cart__total .amount.kml-fade.kml-in {
    opacity: 1;
    transform: translateY(0);
}

/* плавная полоса free-ship */
#miniCart .kml-free-ship__bar .kml-free-ship__bar-fill {
    transition: width .35s ease;
}

.kml-tabs__panel ul.products .kmlp-prod-marquee {
    bottom: 90px;
}

.kml-tabs__panel ul.products .km-archive-swatches {

    float: right;
}

.main-nav .sub-menu {
    position: absolute;
    left: -10%;
    top: 80%;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: rgb(229, 231, 235);

    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    display: none;
    min-width: 220px;
    padding: 8px;
    list-style: none;
    border-top: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.menu--primary .menu-item-has-children>a::after {
    content: "";
    position: absolute;
    right: -25px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.7;
}

.menu--primary .menu-item-has-children>a:hover::after {
    opacity: 1;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .single-product div.product {
        gap: 30px;
    }

    .single-product .woocommerce-product-gallery,
    .single-product .summary.entry-summary {
        min-width: 100%;
        max-width: 100%;
    }
}


@media (max-width: 767px) {
    #content {
        padding: 0 12px;
    }

    .woocommerce-mini-cart.cart_list.product_list_widget {
        max-height: 45vh;

    }

    .main-nav,
    .topbar {
        display: none;
    }

    .kml-tabs__panel ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px !important;
    }

    .single-product div.product {
        gap: 20px;
    }

    .page-template-page-collections main {
        min-height: 105vw;
    }

    .collection-card {
        text-decoration: none;
        color: inherit;
        width: 100%;
    }

    .product_title.entry-title {
        font-size: 24px;
    }

    .woocommerce ul.products li.product .price del {
        opacity: .3 !important;
        text-decoration: none;
        position: relative;
    }

    .km-price__sale del {
        text-decoration: none !important;
        position: relative;
    }

    .woocommerce-Price-currencySymbol {
        text-decoration: none !important;

    }

    .custom-shipping-block {
        max-width: 90%;
        margin: auto;
    }

    .woocommerce ul.products li.product .price del:after,
    .km-price__sale del:after {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        content: '';
        background: #000;
        height: 1px;
        transform: translate(-50%, -50%);

    }

    .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
        position: relative;
    }

    .woocommerce .price del {
        text-decoration: none;
    }

    .single-product .km-price {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    .km-meta {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .kml-item,
    .kml-card.kml-card--product {

        flex-wrap: nowrap !important;
    }

    .kml-item img,
    .kml-grid img {
        max-width: 40px;
        border-radius: 5px;
    }

    .kml-item .kml-item__price {
        text-align: right;
    }

    .single-product div.product {
        margin-bottom: 20px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        font-size: 15px;
    }

    .reviews-summary-right,
    .reviews-summary-left {
        width: auto;
    }

    .related.products {
        width: 100%;
    }

    .product-type-simple .cart {
        display: flex;
    }

    .single-product .woocommerce-tabs.wc-tabs-wrapper {
        margin-top: 0;
    }

    .km-price-stock {
        margin: 20px auto;
        display: flex;
        justify-content: center;

    }

    .km-price-stock .km-meta {
        width: 40%;
    }

    .km-price-stock .km-price {
        width: 60%;
    }

    .woocommerce div.product form.cart .button {
        float: none;
        margin: auto;
        text-align: center;
        display: block;
        width: 100%;
    }

    .postbox-header {
        display: none;
    }

    .woocommerce div.product .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
        display: flex;
    }

    .variations tbody {
        display: flex;
        text-align: center;
        margin: auto;
        width: 100%;
        gap: 30px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .tabs.wc-tabs {
        flex-wrap: wrap;
    }

    .woocommerce-notices-wrapper {
        display: none;
    }

    .summary.entry-summary .wishlist-toggle {
        display: block;
        position: absolute;
        bottom: 0;
        top: 80px;
        left: 50%;
        transform: translateX(-50%);
    }

    .summary.entry-summary .quantity input.qty {
        display: none;
    }

    .variations {
        margin-bottom: 20px;
        margin: 20px auto;
    }

    .reviews-summary {
        flex-direction: column;
    }

    .tabs.wc-tabs li.active a {
        border-left-color: #000;
        border-bottom-color: #e0e0e0;
    }

    .products.columns-4 .km-badge.km-badge--sale {

        padding: 2px 5px;
        font-size: 10px;
        border-radius: 8px;
        left: 5px;
        top: 5px;
    }

    .products li.product .kmlp-prod-marquee {
        font-size: 11px;
        bottom: 90px;
        padding: 0;

    }

    .home .products li.product .kmlp-prod-marquee {
        bottom: 115px !important;
        padding: 0 !important;
    }

    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;

    }

    .ft-inner {
        max-width: 100%;
        flex-direction: column;
    }

    .ft-col.ft-col--1.ft-copy {
        order: 3;
    }

    .ft-col.ft-col--3,
    .ft-col.ft-col--2,
    .ft-col.ft-col--4 {
        display: none;
    }

    .menu--primary .menu-item-has-children>a::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E");
    }

    #miniCart.mini-cart {
        width: 80%;
        padding: 35px 20px;
        border-radius: 0;
    }

    .price-q-container {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .woocommerce-mini-cart-item.mini_cart_item {
        margin: 25px auto;
    }

    .woocommerce-mini-cart-item.mini_cart_item .remove.remove_from_cart_button {
        position: absolute;
        right: -10px;
        top: -20px;

    }

    .product-link-cart {
        text-wrap: balance;
    }

    .woocommerce-mini-cart-item.mini_cart_item {
        justify-content: space-between;
    }

    .mini-cart-price {
        font-size: 17px;
        text-align: center;
        display: flex;
        flex-direction: column;
        order: 1;
        margin-left: 10px;
    }

    .kml-free-ship__hint {
        text-wrap: balance;
        text-align: center;
    }

    .quantity input.qty {
        font-size: 17px;
    }

    .summary.entry-summary .quantity {
        display: none !important;
    }

    .price-q-container .quantity {
        border-radius: 12px;
        font-size: 17px;
        order: 2;
    }

    #customer_details,
    #order_review {
        width: 90%;
        margin: 10px auto;
    }

    .checkout.woocommerce-checkout {
        gap: 20px;
        flex-direction: column;
    }

    .woocommerce-billing-fields__field-wrapper {
        flex-wrap: wrap;
        justify-content: center;
    }

    .np-flex {

        gap: 5px;
        flex-direction: column;
    }

    .np-select-wrap label {
        margin: 0;
    }
}

/* Мобильная нижняя панель */
.mobile-bottom-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #e0e0e0;
    display: none;
    justify-content: space-around;
    align-items: center;
    padding: 2px 0;
    z-index: 1000;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

@media (max-width: 767px) {
    .site-header {
        position: relative;
        margin-bottom: 10px;
        top: auto;
    }

    .page-template-default main {
        max-width: 100%;
        margin: 20px auto;
        min-height: 25vw;
    }

    .single-product .summary.entry-summary {
        padding: 0px;
    }

    .mobile-bottom-bar {
        display: flex;
    }

    /* Скрываем иконки в хедере на мобильных */
    .header-icons .icon-btn.wishlist-btn,
    .header-icons .cart-wrap {
        display: none;
    }

    .header-icons {
        gap: 14px;
        justify-content: end;
    }
}

.mobile-bar__btn {
    position: relative;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    color: #333;
    transition: color 0.3s ease;
    font-size: 11px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
}

.mobile-bar__btn:hover {
    color: #007cba;
}

.mobile-bar__badge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: #ff4444;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Слайд-ауты меню */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-menu {
    position: fixed;
    top: 0;
    width: 300px;
    max-width: 90vw;
    height: 100vh;
    background: #fff;
    z-index: 1002;
    transition: transform 0.3s ease;
    overflow-y: auto;
}

.mobile-menu--left {
    left: 0;
    transform: translateX(-100%);
}

.mobile-menu--right {
    right: 0;
    transform: translateX(100%);
}

.mobile-menu.active {
    transform: translateX(0);
}

.mobile-menu__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
}

.mobile-menu__close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    width: 25px;
    height: 25px;
    color: #c0c0c0;
}

.mobile-menu__content {
    padding: 20px;
}

.mobile-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu__list li {
    margin-bottom: 10px;
}

.mobile-menu__list a {
    display: block;
    padding: 10px 0;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
}

.mobile-menu__contacts {
    color: #141414;
    margin-top: 30px;
    padding: 20px;
    background: #dcd8cd;
    border-radius: 10px;
}

.mobile-menu__phones a {
    display: block;
    padding: 5px 0;
    color: #007cba;
    text-decoration: none;
}

.menu-item.menu-item-type-post_type.menu-item-object-page.menu-item-278 a {
    color: #ef4444;
}

.mobile-menu__phones {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-menu__phones a {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #4d4d4d;
    font-weight: 600;
    text-decoration: none;

}

.look-add-toc {
    display: flex;
}

.mobile-menu__phones a .icon--phone {
    fill: #4d4d4d;
}

.sidebar__messengers .icon {
    color: #dcd8cd;
    fill: #535250;
    padding: 5px;
    border-radius: 5px;
}

.mobile-menu__contacts ul {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 20px;
    justify-content: center;
}

.woocommerce-notices-wrapper {
    display: none;
}

/* === Шторка поиска === */
.searchbar[hidden] {
    display: none !important;
}

.searchbar {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    grid-template-rows: auto 1fr;
    background:
        linear-gradient(#00000066, #00000066)
        /* затемнение фона */
    ;
    backdrop-filter: blur(2px);
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .24s ease, transform .24s ease;
}

.searchbar.is-visible {
    opacity: 1;
    transform: none;
}

.searchbar .container {
    width: min(900px, 100% - 24px);
    margin-inline: auto;
    background: var(--surface, #fff);
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .18);
    position: relative;
    margin-top: 24px;
}

/* Кнопка закрытия */
.searchbar__close {
    position: absolute;
    top: 3px;
    right: 3px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    color: #ccc;
    display: none;
}

.searchbar__close:hover {
    background: rgba(0, 0, 0, .06);
}

/* Оформление стандартной формы поиска */
.searchbar form[role="search"] {
    display: grid;
    gap: 12px;
}

.searchbar input[type="search"],
.searchbar input[name="s"] {
    width: 100%;
    font: inherit;
    font-size: 15px;
    padding: 14px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.searchbar input[type="search"]:focus,
.searchbar input[name="s"]:focus {
    border-color: #185f3642;

}

/* Кнопка submit формы */
.searchbar form[role="search"] input[type="submit"],
.searchbar form[role="search"] button[type="submit"] {
    justify-self: start;
    padding: 10px 14px;
    border-radius: 10px;
    border: none;
    background: #dcd8cd;
    color: #464646;
    cursor: pointer;
    position: absolute;
    right: 5%;
    top: 22px;

}

.search-form label {
    position: relative;
}

/* === Результаты лайв-поиска === */
.searchbar__results {
    margin-top: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    max-height: min(60dvh, 520px);
    overflow-y: auto;
}

.searchbar__result {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    text-decoration: none;
    color: inherit;
    background: #fff;
}

.searchbar__result:hover {
    background: #f7fbff;
}

.searchbar__result-title {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.35;
}

.searchbar__result-meta {
    font-size: 12px;
    color: #6b7280;
}

/* Пусто/лоадер */
.searchbar__state {
    padding: 14px;
    font-size: 14px;
    color: #6b7280;
    background: #fff;
}

/* Блокируем прокрутку боди, когда панель открыта */
body.searchbar-open {
    overflow: hidden;
    touch-action: none;
}

.ft-row.ft-address {
    display: flex;
    align-items: center;
}

.related.products ul.products {
    grid-template-columns: repeat(4, 1fr);
    display: grid;
    width: 100%;
}

/* Контейнер пункта с подпунктами */
.mobile-menu__list li.menu-item-has-children {
    position: relative;
    padding-right: 44px;
}

/* Кнопка-тогглер */
.mobile-menu__list .mm-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
}

/* Иконка плюс/минус — две одинаковые риски */
.mobile-menu__list .mm-toggle .mm-ico {
    position: relative;
    width: 10px;
    height: 10px;
    color: #555;
}

.single-product .cart {
    position: relative;
}

.mobile-menu__list .mm-toggle .mm-ico::before,
.mobile-menu__list .mm-toggle .mm-ico::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 2px;
    background: currentColor;
    transform: translateY(-50%);
    transition: transform .12s ease, opacity .12s ease;
}

/* Вертикальная риска (делаем её через rotate) */
.mobile-menu__list .mm-toggle .mm-ico::after {
    transform: translateY(-50%) rotate(90deg);
}

/* Когда открыто — прячем вертикальную (получается минус) */
.mobile-menu__list li.is-open>.mm-toggle .mm-ico::after {
    transform: translateY(-50%) rotate(90deg) scaleY(0);
    opacity: 0;
}

/* Подменю: анимируем ТОЛЬКО высоту (без opacity, чтобы не мигало) */
.mobile-menu__list .sub-menu {
    margin: 6px 0 8px 14px;
    padding-left: 10px;
    overflow: hidden;
    height: 0;
    /* закрыто */
    transition: height .28s ease;
    will-change: height;
}

.sub-menu {
    list-style: none;
}

.sub-menu a {
    font-size: 0.9em;
    border: none;
    ;
}

.price-q-container {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
}

/* Планшеты в альбомной ориентации (горизонтально) */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    #content {
        padding: 20px;
        min-height: 80vw;
    }

    .header-icons {
        justify-content: flex-end;
    }

    .topbar .container {
        padding: 5px 15px;
    }

    .main-nav,
    .header-icons .icon-btn.wishlist-btn,
    .header-icons .cart-wrap,
    .ft-col.ft-col--2,
    .ft-col.ft-col--3,
    .ft-col.ft-col--4 {

        display: none !important;
    }

    .mobile-bottom-bar {
        display: flex !important;
    }

    .ft-inner {

        justify-content: center !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        font-size: 16px;
    }

    .km-price-stock {
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: center;
    }

    .km-meta {
        gap: 20px;
        margin: 20px 30px;
    }

    .woocommerce div.product form.cart .button {
        width: 70%;
        float: none;
        padding: 20px 50px;
        background-color: #536452;
        margin: auto;
        font-size: 1.2em;
    }

    .km-swatches {
        justify-content: center;
        gap: 18px;
    }

    .km-swatch--text {
        min-width: 44px;
        height: 44px;
        padding: 0 10px;
        font-size: 14px;
    }

    .kml-item.product {
        justify-content: center;
    }

    .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart {
        display: flex;
        position: relative;
    }

    .summary.entry-summary {
        padding: 0;
    }

    .summary.entry-summary .variations {
        margin-bottom: 20px;
        margin: auto;
        text-align: center;
    }

    .wishlist-toggle {
        position: absolute;
        left: 5%;
    }

    .site-header {
        position: relative;
    }

    .custom-shipping-block {
        font-size: 14px;
        display: flex;
        gap: 15px;

    }

    .shipping-item {
        display: flex;
        flex-direction: column;
        line-height: 150%;
    }

    .delivery-time {
        text-align: center;
        text-wrap: nowrap;
        font-size: 0.9em;
    }

    .delivery-brand {
        margin: 0;
    }

    .shop-filters {
        position: fixed;
        top: 0;
        left: 0;
        height: 100dvh;
        width: min(80vw, 360px);
        transform: translateX(-100%);
        transition: transform .3s ease;
        z-index: 1000;
        border-right: 1px solid #e6e6e6;
        background: #fff;
    }

    .shop-filter-toggle {
        display: flex;
        gap: 8px;
        align-items: center;
        padding: 10px 14px;
        border: 1px solid #ddd;
        background: #fff;
        border-radius: 6px;
        cursor: pointer;
        width: 120px;
        color: #000;
    }

    .shop-filters.is-open {
        transform: translateX(0);
    }

    .shop-filters__inner {
        padding: 30px 16px;
        overflow: auto;
        height: 100%;
    }

    .shop-archive {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .shop-products {
        grid-column: 1 / 4;
    }

    .checkout.woocommerce-checkout {
        display: flex;
        gap: 40px;
        flex-direction: column;
    }

    #customer_details {
        width: 100%;
    }

    .woocommerce-billing-fields__field-wrapper {
        margin: auto;
        justify-content: center;
    }

    #order_review {
        width: 70%;
        margin: auto;
    }
}

.woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    line-height: 1.3;
    height: 1.2em;
    min-height: 1.2em;

}


.woocommerce-product-gallery {
    display: none !important;
}

.custom-product-gallery {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 12px;
    max-width: 696px;
    align-items: start;
}

.product-gallery-thumbs {
    grid-column: 1;
    order: 1;
    width: 76px;
}

.product-gallery-thumbs::-webkit-scrollbar {
    width: 4px;
}

.product-gallery-thumbs::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 2px;
}

.product-gallery-thumbs .swiper-wrapper {
    flex-direction: column;
}

.product-gallery-main {
    grid-column: 2;
    order: 2;
    width: 100%;
    aspect-ratio: 3/4;
    background: #fff;
    overflow: hidden;
}

.product-gallery-main .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.image-slide {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    cursor: zoom-in;
    border-radius: 10px;
}

.image-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.image-slide:hover img {
    transform: scale(1.5);
}

.zoom-indicator {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
}

.image-slide:hover .zoom-indicator {
    opacity: 1;
}

.zoom-icon {
    width: 24px;
    height: 24px;
}

.product-gallery-thumbs .swiper-slide {
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.3s;
    position: relative;
    height: auto !important;
    margin-bottom: 8px;
}

.product-gallery-thumbs .swiper-slide:last-child {
    margin-bottom: 0;
}

.product-gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
}

.product-gallery-thumbs .swiper-slide img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.video-thumb-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    z-index: 1;
}

.video-play-icon-thumb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 25px;
    height: 25px;
    pointer-events: none;
    z-index: 2;
}

.video-slide {
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.video-slide video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.video-play-icon-main {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    pointer-events: none;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.6));
    transition: transform 0.3s ease;
    z-index: 10;
}

.video-slide:hover .video-play-icon-main {
    transform: translate(-50%, -50%) scale(1.15);
}

.video-slide.playing .video-play-icon-main {
    display: none;
}


.video-custom-controls {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.video-slide:hover .video-custom-controls,
.video-custom-controls.show {
    opacity: 1;
}

.video-custom-controls svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.6));
}



@media (max-width: 768px) {
    .custom-product-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

    .product-gallery-thumbs {
        grid-column: 1;
        order: 2;
        margin-top: 12px;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
        width: 100%;
    }

    .product-gallery-thumbs .swiper-wrapper {
        flex-direction: row;
    }

    .product-gallery-main {
        grid-column: 1;
        order: 1;
    }

    .product-gallery-thumbs .swiper-slide img {
        aspect-ratio: 4/4;

    }

    .product-gallery-thumbs .swiper-slide {
        width: 80px !important;
        flex-shrink: 0;
        margin-bottom: 0;
        margin-right: 8px;
    }

    .video-custom-controls {
        width: 35px !important;
        height: 35px !important;

    }

    .video-custom-controls.show {
        opacity: 0;
    }


    .zoom-indicator {
        display: none;
    }
}




@media (max-width: 768px) {
    .woocommerce-product-attributes {
        width: 100% !important;

    }

    .breadcrumbs {
        padding: 8px 8px;
    }

    .breadcrumbs a,
    .breadcrumbs .breadcrumb-delimiter {
        margin-right: 8px;

    }


    .breadcrumbs {
        padding: 8px;
    }

    .breadcrumbs a,
    .breadcrumbs .breadcrumb-delimiter {
        margin-right: 8px;
    }

    .breadcrumbs {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        padding: 10px 12px;
        margin: 0;
        position: relative;
        isolation: isolate;
    }

    .breadcrumbs::after {
        content: "";
        position: fixed;
        top: 110px;
        height: 80px;
        bottom: 0;
        width: 58px;
        pointer-events: none;
        transition: opacity 160ms linear;
        z-index: 2;
    }

    .breadcrumbs::after {
        right: 0;
        background: linear-gradient(to left, #fff 20%, rgba(255, 255, 255, 0) 100%);

    }

    /* Для вебкитов: Chrome, Safari, Edge */
    .breadcrumbs::-webkit-scrollbar {
        width: 0;
        /* или height: 0; для горизонтального скролла */
        background: transparent;
        /* полностью прозрачный */
    }

    /* Для Firefox */
    .breadcrumbs {
        scrollbar-width: none;
        /* "thin" или "none" */
        -ms-overflow-style: none;
        /* IE 10+ */
    }

    .breadcrumbs a,
    .breadcrumbs .breadcrumb-delimiter,
    .breadcrumbs span {
        display: inline-block;
        vertical-align: middle;
        white-space: nowrap;
        margin-right: 10px;
        color: #222;
        text-decoration: none;

        position: relative;
        /* обязательно, чтобы z-index работал */
        z-index: 3;
        /* выше, чем псевдоэлементы */
    }

    .breadcrumbs a,
    .breadcrumbs .breadcrumb-delimiter,
    .breadcrumbs span {
        display: inline-block;
        vertical-align: middle;
        white-space: nowrap;
        margin-right: 10px;
        color: #222;
        text-decoration: none;
    }

    .breadcrumbs::-webkit-scrollbar {
        height: 6px;
    }

    .breadcrumbs::-webkit-scrollbar-track {
        background: transparent;
    }

    .breadcrumbs::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.12);
        border-radius: 6px;
    }
}

.woocommerce-Tabs-panel--additional_information {
    /* Общие стили для блока */
}

.woocommerce-product-attributes {
    width: 50%;
    border-collapse: collapse;
}

.woocommerce-product-attributes-item {
    border-bottom: 1px dashed #ccc;
    padding: 0 !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.woocommerce-product-attributes-item__label {
    font-weight: 600;
    color: #333;
    width: 40%;
    text-align: left;
}

.woocommerce-product-attributes-item__value {

    color: #666;
    text-align: right;
}

.contact-item {
    margin: 20px auto;
    align-items: center;
    display: flex;
    justify-content: center;
}

.contact-item a {
    display: flex;
    gap: 10px;
    align-items: center;
}

.contact-item.work-hours {
    align-items: inherit;
    gap: 10px;
}

.contact-item.messenger {
    flex-direction: column;
}

.contact-item.messenger>div {
    align-items: center;
    display: flex;
    justify-content: center;
}

.contact-item.messenger a {
    margin: 0 10px;
}

.contact-item.messenger a {
    margin: 0 10px;
    background-color: #dcd8cd8c;
    padding: 10px;
    border-radius: 50%;
}

.contact-grid {
    display: flex;
    gap: 20px;
    flex-direction: column;
    justify-content: center;
    margin: 50px auto;
    align-items: center;
    text-align: center;
}

.messenger-link {
    transition: all 0.3s;
}

.messenger-link.icon-whatsapp:hover {
    fill: #03a157;
}

.messenger-link.icon-telegram:hover {
    fill: #2689c5;
}

.messenger-link.icon-viber:hover {
    fill: #7360f2;
}

.contact-details.socials-grid a {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.contact-page-content {
    max-width: 600px;
    margin: auto;
    text-align: center;
}

.page-title.op {
    text-align: center;
    margin: 40px auto;
}

/* делаем превью крупнее и ровными квадратами */
.product-gallery-thumbs .swiper-slide {
    width: 66px !important;
    /* подгони при желании */
    height: auto !important;
    flex: 0 0 auto;
}


/* иконка “play” на превью */
.product-gallery-thumbs .video-thumb-overlay,
.product-gallery-thumbs .video-play-icon-thumb {
    pointer-events: none;
}

.video-slide .video-play-icon-main {
    opacity: 1;
    transition: opacity .2s ease;
}

/* когда видео играет — прячем иконки */
.video-slide.is-playing .video-play-icon-main {
    opacity: 0;
}

.product-gallery-thumbs .swiper-slide.video-thumb-is-playing .video-thumb-overlay,
.product-gallery-thumbs .swiper-slide.video-thumb-is-playing .video-play-icon-thumb {
    opacity: 0;
}

/* ГЛОБАЛЬНО (всегда) */
.kml-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: var(--kml-row, 250px);
    grid-auto-flow: row dense;
    gap: var(--kml-gap, 16px);
}

.kml-cat-grid .kml-card {
    position: relative;
    display: block;
    width: 100%;
    min-height: var(--kml-row, 250px);
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    overflow: hidden;
}

.kml-cat-grid .kml-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .35) 80%);
    bottom: 0;
    top: auto;
    height: 30%;
}

.kml-cat-grid .kml-card__title {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 14px;
    color: #fff;
    font-weight: 600;
    line-height: 1.2;
    font-size: clamp(16px, 1.2vw + 12px, 24px);
    text-shadow: 0 2px 8px rgba(0, 0, 0, .6);
    z-index: 2;
}

/* Ряд A */
.kml-cat-grid .kml-card.row-odd.pos-1 {
    grid-column: 1;
    grid-row: span 2;
}

.kml-cat-grid .kml-card.row-odd.pos-2 {
    grid-column: 2;
}

.kml-cat-grid .kml-card.row-odd.pos-3 {
    grid-column: 2;
}

.kml-cat-grid .kml-card.row-odd.pos-4 {
    grid-column: 3;
    grid-row: span 2;
}

/* Ряд B */
.kml-cat-grid .kml-card.row-even.pos-1 {
    grid-column: 1;
}

.kml-cat-grid .kml-card.row-even.pos-2 {
    grid-column: 1;
}

.kml-cat-grid .kml-card.row-even.pos-3 {
    grid-column: 2;
    grid-row: span 2;
}

.kml-cat-grid .kml-card.row-even.pos-4 {
    grid-column: 3;
}

/* Хвост */
.kml-cat-grid .kml-card.tail {
    grid-row: auto !important;
}

/* ≤ 992px */
@media (max-width: 992px) {
    .kml-cat-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .kml-cat-grid .kml-card {
        grid-column: auto !important;
        grid-row: span 1 !important;
    }

    .kml-cat-grid .kml-card:nth-child(3n+2) {
        grid-column: 2 !important;
        grid-row: span 2 !important;
    }
}

/* ≤ 727px */
@media (max-width: 727px) {
    .kml-cat-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: clamp(180px, var(--kml-row, 250px), 100vh);
        grid-auto-flow: dense;
    }

    .kml-cat-grid .kml-card {
        grid-row: span 1 !important;
    }

    .kml-cat-grid .kml-card:nth-child(6n + 2) {
        grid-column: 2 !important;
        grid-row: span 2 !important;
    }

    .kml-cat-grid .kml-card:nth-child(6n + 5) {
        grid-column: 1 !important;
        grid-row: span 2 !important;
    }
}


/* ≤ 480px — только апскейл миниатюр */
@media (max-width: 480px) {
    .product-gallery-thumbs .swiper-slide {
        width: 96px !important;
        height: 96px !important;
    }
}

.category-description-block {
    margin-bottom: 30px;
    margin-top: 80px;
}

.category-title {
    font-size: 24px;
    margin-bottom: 15px;
    color: #333;
}

.description-container {
    position: relative;
}

.description-content {
    position: relative;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.description-content.collapsed {
    max-height: 150px;
}

.description-content.expanded {
    max-height: 8000px;
}

.description-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
    pointer-events: none;
    transition: opacity 0.5s ease;
}

.description-content.expanded .description-gradient {
    opacity: 0;
}

.toggle-description-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #000;
    padding: 10px 20px;
    border-radius: 2px;
    cursor: pointer;
    margin-top: 15px;
    transition: all 0.3s ease;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin: auto;
}

.toggle-description-btn:hover {
    border-color: #364435;
    color: #364435;
}

.btn-icon {
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.3s ease;
}

.description-content.expanded+.toggle-description-btn .btn-icon {
    transform: rotate(180deg);
}

#categoryDescription {
    line-height: 180%;
}

.icon-cont {
    display: block;
    margin: 25px auto;
    text-align: center;
    background: #dcd8cd8c;
    width: 110px;
    height: 110px;
    border-radius: 50%;
    padding: 5px;
}

#shop-filter-panel {
    margin-bottom: 30px;
}

.icon.icon-cancel {
    margin-top: 2px;
}

.filter-block .disabled {
    opacity: 0.6;
}

.kml-checkbox,
.pill {
    letter-spacing: 0.05em;
}

.pill.sezon-pill,
.pill.material-pill {
    border-radius: 1px;
    letter-spacing: 0.05em;
}

.topbar-menu,
.menu.menu--primary {
    --mega-top: 72px;
}

body.admin-bar .topbar-menu,
body.admin-bar .menu.menu--primary {
    --mega-top: 55px;
}


.topbar-menu>li>.sub-menu,
.menu.menu--primary>li>.sub-menu {
    position: absolute !important;
    top: var(--mega-top) !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(8px) scaleY(.96) !important;
    transform-origin: 50% 0;
    z-index: 9999;
    min-height: 220px;
    width: 100vw;
    padding-inline: max(16px, calc((100vw - 1200px)/2));
    padding-block: 24px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 3px 3px rgba(0, 0, 0, .1);

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px 24px !important;


    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    will-change: transform, opacity;
    transition:
        opacity .22s ease-out,
        transform .22s ease-out,
        visibility 0s linear .22s;
}

.topbar-menu>li:hover>.sub-menu,
.topbar-menu>li:focus-within>.sub-menu,
.menu.menu--primary>li:hover>.sub-menu,
.menu.menu--primary>li:focus-within>.sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0) scaleY(1);
    transition-delay: 0s, 0s, 0s;
}

.topbar-menu>li>.sub-menu>li,
.menu.menu--primary>li>.sub-menu>li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    list-style: none;
}

.topbar-menu>li>.sub-menu>li>a,
.menu.menu--primary>li>.sub-menu>li>a {
    display: block !important;
    padding: 8px 0;
    white-space: nowrap;
    text-decoration: none;
    color: #111;
}




html,
body {
    overflow-x: hidden;
}

@media (max-width:1023.98px),
(hover:none) {

    .topbar-menu>li>.sub-menu,
    .menu.menu--primary>li>.sub-menu {
        position: static !important;
        width: auto;
        padding: 0;
        transform: none !important;
        box-shadow: none;
        background: transparent;
    }
}

.main-nav .sub-menu li a::before {
    content: '';
    background: #dcd8cd8c;
    left: -20px;
    top: 47%;
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    transform: translateY(-50%);
    z-index: -1;
}

#categoryDescription ul {
    list-style: none;
}

#categoryDescription ul li {
    position: relative;
}

#categoryDescription ul li::before {
    background: #dcd8cd8c;
    left: -20px;
    top: 47%;
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    content: '';
    border-radius: 2px;
    transform: translateY(-50%);
}

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}