/*
Theme Name: Kisslorod
Theme URI: https://kisslorod.ru
Author: Kisslorod Studio
Description: Тема для студии воздушных шаров с полной поддержкой WooCommerce
Version: 9.2.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: kisslorod
*/

/* ===== ANIMATIONS ===== */
.text-gradient{background:linear-gradient(135deg,#ec4899,#f472b6,#f9a8d4,#ec4899);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease infinite}
@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.float-animation{animation:float 6s ease-in-out infinite}
.float-animation-delayed{animation:float 6s ease-in-out 2s infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
.balloon-shadow{box-shadow:0 8px 32px rgba(236,72,153,.3)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* Мобила: страница не «уезжает» влево/вправо при горизонтальном свайпе по фону (Safari/Android). Вертикальная прокрутка и жест «назад» не трогаем. touch-action не наследуется — блоки со своим горизонтальным скроллом/каруселью сохраняют поведение. */
html{
    overflow-x:hidden;
}
body{
    overflow-x:hidden;
    overscroll-behavior-x:none;
}
@supports (overflow:clip){
    html{overflow-x:clip;}
    body{overflow-x:clip;}
}

/* Reviews carousel — touch-action не pan-y (в Safari вертикаль «съедает» горизонтальный свайп). Ось распознаётся в JS, с упором в вертикальный скролл страницы (см. main.js). */
#reviewsCarousel.kl-reviews-carousel{cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none}
#reviewsCarousel.kl-reviews-carousel.is-dragging{cursor:grabbing}
/* Карусель на всю ширину блока (.kl-reviews-carousel-outer даёт краевые inset); здесь только верх/низ — чтобы тени не резались */
.kl-reviews-viewport{
    overflow:hidden;
    padding-block:clamp(.85rem,2.2vw,1.75rem);
    padding-inline:0;
    box-sizing:border-box;
    overscroll-behavior-x:contain;
}
.kl-reviews-carousel-outer{width:100%;max-width:100%;box-sizing:border-box}
.kl-reviews-slide{
    flex:0 0 100%;
    min-width:0;
    box-sizing:border-box;
    padding-inline:clamp(.375rem,.9vw,.65rem);
}
@media(min-width:1024px){
    .kl-reviews-slide{
        flex:0 0 33.333%;
        padding-inline:clamp(.35rem,.8vw,.55rem);
    }
}
.kl-review-card{
    border-color:rgba(252,231,243,.85)!important;
    box-shadow:
        0 1px 2px rgba(15,23,42,.04),
        0 6px 16px -4px rgba(236,72,153,.085),
        0 14px 28px -12px rgba(17,24,39,.065);
}
.kl-reviews-track{display:flex;transition:transform .45s cubic-bezier(.25,.8,.25,1);will-change:transform}
.kl-reviews-track.is-dragging{transition:none}

/* ===== Balloon care tips slider (front page) ===== */
.kl-care-slider{max-width:100%}
.kl-care-slider__eyebrow{
    margin:0 0 .35rem;
    font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    color:#D64B81;
}
.kl-care-slider__heading{
    margin:0 0 1rem;
    font-size:clamp(1.2rem,4.2vw,1.65rem);font-weight:700;line-height:1.25;
    color:#2d3748;
}
.kl-care-slider__frame{
    background:#D1B3BC;
    border-radius:28px;
    padding:14px 14px 18px 18px;
    box-shadow:0 12px 40px rgba(209,179,188,.35);
}
@media(min-width:640px){
    .kl-care-slider__frame{border-radius:34px;padding:18px 18px 22px 22px}
}
.kl-care-slider__viewport{
    overflow:hidden;
    cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none;
    overscroll-behavior-x:contain;
    border-radius:22px;
}
.kl-care-slider__viewport.is-dragging{cursor:grabbing}
.kl-care-slider__track{
    display:flex;
    transition:transform .45s cubic-bezier(.25,.8,.25,1);
    will-change:transform;
}
.kl-care-slider__track.is-dragging{transition:none}
.kl-care-slider__slide{
    flex:0 0 100%;min-width:0;box-sizing:border-box;
    padding:2px 2px 0 0;
}
.kl-care-slider__card{
    background:#fff;
    border-radius:22px;
    padding:1.15rem 1.2rem 1.35rem;
    box-shadow:6px 8px 0 rgba(74,85,104,.06);
}
@media(min-width:640px){
    .kl-care-slider__card{padding:1.35rem 1.5rem 1.5rem;border-radius:24px}
}
.kl-care-slider__badge{display:block;font-size:1.75rem;line-height:1;margin-bottom:.65rem}
.kl-care-slider__title{
    margin:0 0 .5rem;
    font-size:1.05rem;font-weight:700;color:#2d3748;line-height:1.3;
}
@media(min-width:640px){.kl-care-slider__title{font-size:1.15rem}}
.kl-care-slider__text{
    margin:0;
    font-size:.92rem;line-height:1.55;color:#4A5568;
}
@media(min-width:640px){.kl-care-slider__text{font-size:.95rem}}
.kl-care-slider__cta{
    display:inline-flex;align-items:center;gap:.35em;
    margin-top:1rem;
    padding:.5rem 1.1rem;
    border-radius:999px;
    border:2px solid #D64B81;
    color:#D64B81;
    font-weight:600;font-size:.875rem;
    text-decoration:none;
    transition:background-color .2s,color .2s,border-color .2s;
}
.kl-care-slider__cta:hover{background:rgba(214,75,129,.08);color:#b83d6d;border-color:#b83d6d}
.kl-care-slider__cta:focus-visible{outline:2px solid #D64B81;outline-offset:2px}
.kl-care-slider__nav{
    display:flex;align-items:center;justify-content:center;
    flex-wrap:wrap;gap:.65rem;
    margin-top:.85rem;padding:0 2px;
}
.kl-care-slider__arrow{
    width:40px;height:40px;margin:0;padding:0;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.9);
    background:rgba(255,255,255,.45);
    color:#4A5568;
    font-size:1.35rem;line-height:1;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s,transform .15s;
    -webkit-appearance:none;appearance:none;
}
.kl-care-slider__arrow:hover{background:#fff;transform:scale(1.04)}
.kl-care-slider__arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}
.kl-care-slider__dots{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.kl-care-slider__dot{
    width:8px;height:8px;margin:0;padding:0;
    border:none;border-radius:50%;
    background:rgba(255,255,255,.45);
    cursor:pointer;
    transition:transform .2s,background .2s;
    -webkit-appearance:none;appearance:none;
}
.kl-care-slider__dot:hover{background:rgba(255,255,255,.75)}
.kl-care-slider__dot.is-active{background:#fff;transform:scale(1.25)}
.kl-care-slider__dot:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Wishlist heart (без scale — иначе при overflow:hidden на a.block обрезается круг и виден «второй» светлый слой) */
.kl-wishlist-btn{
    position:absolute;top:12px;right:12px;z-index:5;
    width:32px;height:32px;margin:0;padding:0;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    line-height:1;
    background:rgba(255,255,255,.92);
    color:#ec4899;
    border:none;cursor:pointer;
    font-size:16px;
    box-shadow:none;
    outline:none;
    -webkit-appearance:none;
    appearance:none;
    transition:background-color .2s,color .2s,opacity .2s;
    opacity:0;
}
.group:hover .kl-wishlist-btn,.kl-wishlist-btn.active{opacity:1}
.kl-wishlist-btn.active{background:#ec4899!important;color:#fff!important}
.kl-wishlist-btn:hover:not(.active){background:#fff}
.kl-wishlist-btn.active:hover{background:#db2777!important}
.kl-wishlist-btn:focus-visible{outline:2px solid #ec4899;outline-offset:2px}

/* ===== SCOPED RESET (only inside .site-main to avoid Tailwind conflicts) ===== */
.site-main ul,.site-main ol{margin-bottom:1rem;padding-left:1.5rem}
.site-main p{margin-bottom:1rem}

/* ===== LAYOUT ===== */
.container{max-width:1200px;margin:0 auto!important;padding:0 20px}
.container-narrow{max-width:768px;margin:0 auto;padding:0 20px}
.site-main{min-height:60vh;padding:40px 0}
@media(max-width:639px){
    .site-main{padding:28px 0}
}

/* ===== HEADER ===== */
.kl-header{
    background:transparent;
    transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
.kl-header.scrolled{background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 20px rgba(244,114,182,.12)}

/* Десктоп: поиск в шапке — как в моб. оверлее (flex + gap), без наезда иконки; рамка на форме, не на input (иначе бьётся с .woocommerce input[type=search]) */
.kl-header-search{
    position:relative;
    width:100%;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:6px 12px 6px 14px;
    box-sizing:border-box;
    border:1.5px solid rgba(229,231,235,.95);
    border-radius:9999px;
    background:rgba(249,250,251,.96);
    box-shadow:0 2px 14px -5px rgba(236,72,153,.14), 0 1px 2px rgba(17,24,39,.04);
    transition:border-color .2s ease, box-shadow .22s ease, background-color .2s ease;
}
.kl-header-search:hover{
    border-color:#fbcfe8;
    background:#fff;
    box-shadow:0 4px 20px -8px rgba(236,72,153,.18), 0 2px 6px rgba(17,24,39,.05);
}
.kl-header-search:focus-within{
    border-color:#f9a8d4;
    background:#fff;
    box-shadow:0 0 0 4px rgba(236,72,153,.12), 0 6px 24px -10px rgba(236,72,153,.2);
}
.kl-header.scrolled .kl-header-search{
    background:#fff;
}
.kl-header-search__icon{
    position:static;
    flex:0 0 auto;
    width:20px;
    height:20px;
    color:#9ca3af;
    pointer-events:none;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:color .2s ease;
}
.kl-header-search__icon svg{width:100%;height:100%}
.kl-header-search:focus-within .kl-header-search__icon{color:#ec4899}

/* Поле внутри капсулы — без собственной рамки; перебиваем глобальные стили WooCommerce для search */
.kl-header .kl-header-search input[type="search"].kl-header-search__input,
.woocommerce .kl-header .kl-header-search input[type="search"].kl-header-search__input,
.woocommerce-page .kl-header .kl-header-search input[type="search"].kl-header-search__input{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:8px 4px 8px 0!important;
    border:none!important;
    border-radius:0!important;
    background:transparent!important;
    color:#111827!important;
    font-size:0.9375rem!important;
    font-weight:500!important;
    line-height:1.45!important;
    box-shadow:none!important;
    transition:color .15s ease!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
}
.kl-header .kl-header-search__input::placeholder{
    color:#9ca3af!important;
    font-weight:400!important;
}
.kl-header .kl-header-search__input:hover,
.kl-header .kl-header-search__input:focus{
    border:none!important;
    outline:none!important;
    box-shadow:none!important;
    background:transparent!important;
}

/* Живой поиск (REST): шапка, оверлей, каталог */
.kl-header-search-wrap{
    position:relative;
    z-index:61;
}
.kl-live-results{ box-sizing:border-box; }
.kl-live-results--dropdown{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 8px);
    z-index:70;
    max-height:min(420px,70vh);
    overflow-y:auto;
    overflow-x:hidden;
    padding:6px 0;
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:16px;
    box-shadow:0 20px 50px -20px rgba(17,24,39,.22), 0 8px 28px -12px rgba(236,72,153,.18);
    -webkit-overflow-scrolling:touch;
}
.kl-live-results--overlay{
    margin:0 0 16px;
    max-height:min(52vh,380px);
    overflow-y:auto;
    border-radius:16px;
    background:#f9fafb;
    border:1px solid #f3f4f6;
}
.kl-search-body--live .kl-search-body-default{ display:none; }
.kl-live-results__hint,
.kl-live-results__msg,
.kl-live-results__loading{
    padding:14px 16px;
    font-size:14px;
    color:#6b7280;
    line-height:1.45;
}
.kl-live-results__loading{ color:#9ca3af; }
.kl-live-results__section-title{
    padding:10px 16px 6px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#9ca3af;
}
.kl-live-results__row{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    text-decoration:none;
    color:#1f2937;
    transition:background .15s ease;
    border-top:1px solid #f3f4f6;
}
.kl-live-results__row:first-child{ border-top:none; }
.kl-live-results__section + .kl-live-results__section .kl-live-results__row:first-child{ border-top:1px solid #f3f4f6; }
.kl-live-results__row:hover,
.kl-live-results__row:focus-visible{
    background:#fdf2f8;
    outline:none;
}
.kl-live-results__thumb{
    flex:0 0 44px;
    width:44px;
    height:44px;
    border-radius:10px;
    overflow:hidden;
    background:linear-gradient(135deg,#fce7f3,#fdf2f8);
}
.kl-live-results__thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
@media (max-width:639px){
    .kl-live-results__thumb{
        flex:0 0 52px;
        width:52px;
        min-width:52px;
        height:52px;
        border-radius:12px;
    }
}
.kl-live-results__body{ flex:1; min-width:0; }
.kl-live-results__title{
    display:block;
    font-size:14px;
    font-weight:600;
    line-height:1.35;
    color:#111827;
}
.kl-live-results__price{
    display:block;
    margin-top:2px;
    font-size:13px;
    color:#db2777;
    font-weight:600;
}
.kl-live-results__footer{
    padding:10px 12px 12px;
    border-top:1px solid #f3f4f6;
    background:linear-gradient(180deg,rgba(249,250,251,.6),#fff);
    position:sticky;
    bottom:0;
}
.kl-live-results__all{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:11px 14px;
    border-radius:12px;
    background:#111827;
    color:#fff!important;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    transition:background .2s ease, transform .1s ease;
}
.kl-live-results__all:hover{
    background:#ec4899;
    color:#fff!important;
}
.kl-live-results__all:active{ transform:scale(.99); }

/* ===== CATALOG DROPDOWN ===== */
.kl-catalog-dd{ position:relative; }
.kl-catalog-trigger{ cursor:pointer; }
.kl-catalog-menu{
    position:absolute;
    left:50%;
    top:100%;
    transform:translateX(-50%) translateY(8px) scale(.97);
    transform-origin:top center;
    width:420px;
    max-width:92vw;
    max-height:calc(100vh - 120px);
    overflow-y:auto;
    padding:10px;
    border-radius:20px;
    background:rgba(255,255,255,.98);
    -webkit-backdrop-filter:blur(20px);
    backdrop-filter:blur(20px);
    border:1px solid rgba(244,114,182,.12);
    box-shadow:0 20px 50px rgba(236,72,153,.18), 0 2px 8px rgba(0,0,0,.04);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
    z-index:60;
}
.kl-catalog-dd:hover .kl-catalog-menu,
.kl-catalog-dd:focus-within .kl-catalog-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0) scale(1);
}

.kl-catalog-top{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:14px;
    text-decoration:none;
    color:#111827;
    background:linear-gradient(135deg,#fdf2f8,#fce7f3);
    transition:all .2s;
}
.kl-catalog-top:hover{
    background:linear-gradient(135deg,#fce7f3,#fbcfe8);
}
.kl-catalog-top-icon{
    width:38px; height:38px;
    flex-shrink:0;
    border-radius:12px;
    background:#fff;
    color:#ec4899;
    display:inline-flex; align-items:center; justify-content:center;
    box-shadow:0 2px 6px rgba(236,72,153,.15);
}
.kl-catalog-top-icon svg{ width:18px; height:18px; }
.kl-catalog-top-body{
    flex:1; min-width:0;
    display:flex; flex-direction:column; gap:2px;
}
.kl-catalog-top-title{
    font-size:14px; font-weight:700; color:#111827; line-height:1.2;
}
.kl-catalog-top-sub{
    font-size:12px; color:#6b7280;
}
.kl-catalog-arrow{
    width:16px; height:16px;
    color:#9ca3af;
    transition:transform .2s, color .2s;
    flex-shrink:0;
}
.kl-catalog-top:hover .kl-catalog-arrow{
    color:#ec4899;
    transform:translateX(2px);
}

.kl-catalog-divider{
    height:1px;
    margin:10px 6px 6px;
    background:linear-gradient(90deg,transparent,#f3e8ef,transparent);
}

.kl-catalog-list{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
}
.kl-catalog-item{
    list-style:none;
    padding:0;
    margin:0;
}
.kl-catalog-item + .kl-catalog-item{
    border-top:1px solid rgba(243,232,239,.6);
}
.kl-catalog-link{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 14px;
    border-radius:10px;
    color:#111827;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    transition:color .15s;
}
.kl-catalog-link:hover{
    color:#db2777;
}
.kl-catalog-name{
    flex:1; min-width:0;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.kl-catalog-count{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:22px; height:20px; padding:0 6px;
    border-radius:9999px;
    background:#f3f4f6;
    color:#6b7280;
    font-size:11px; font-weight:700;
    flex-shrink:0;
}
.kl-catalog-link:hover .kl-catalog-count{
    background:#fce7f3;
    color:#be185d;
}

.kl-catalog-sublist{
    list-style:none!important;
    margin:0 0 6px!important;
    padding:2px 14px 6px 28px;
    display:flex;
    flex-wrap:wrap;
    gap:4px 8px;
}
.kl-catalog-sublist li{ list-style:none; margin:0; padding:0; }
.kl-catalog-sublist a{
    position:relative;
    display:inline-block;
    padding:4px 10px 4px 15px;
    font-size:13.5px;
    color:#6b7280;
    text-decoration:none;
    border-radius:8px;
    transition:color .15s, background .15s;
}
.kl-catalog-sublist a::before{
    content:"";
    position:absolute;
    left:4px; top:50%;
    width:4px; height:4px;
    border-radius:50%;
    background:#f9a8d4;
    transform:translateY(-50%);
}
.kl-catalog-sublist a:hover{
    color:#db2777;
    background:rgba(252,231,243,.55);
}
/*
 * Админ-панель: фиксированная шапка сайта сразу под #wpadminbar.
 * Селектор .kl-header + .pt-20 никогда не срабатывал — между ними были оверлеи поиска/каталога.
 * Высота панели синхронизируется в JS (--kl-admin-bar-h), чтобы на мобиле при скролле не оставалась дыра.
 */
.admin-bar .kl-header,
html.admin-bar .kl-header{
    top:var(--kl-admin-bar-h, var(--wp-admin--admin-bar--height, 32px)) !important;
}
.admin-bar .pt-20,
html.admin-bar .pt-20{
    /* Точное значение выставляет initKlAdminBarLayoutSync() в main.js (--kl-main-pad-top) */
    padding-top:var(--kl-main-pad-top, calc(5rem + var(--wp-admin--admin-bar--height, 0px))) !important;
}

/* ===== PAGE TOP/BOTTOM BREATHING ROOM (everywhere except home) ===== */
/* Gap between breadcrumbs (or header) and the main content section */
body:not(.home) .pt-20 > section{ margin-top:20px; }
body:not(.home) .pt-20 > :last-child{ margin-bottom:64px; }
@media(min-width:768px){
    body:not(.home) .pt-20 > section{ margin-top:32px; }
    body:not(.home) .pt-20 > :last-child{ margin-bottom:80px; }
}
/* Hero sections flow directly after breadcrumbs/header (no extra top gap) */
body:not(.home) .pt-20 > .kl-post-hero,
body:not(.home) .pt-20 > .kl-post-hero + section{ margin-top:0; }

/* ===== PAGE HERO ===== */
.page-hero{padding:100px 0 60px;text-align:center;background:linear-gradient(135deg,#fdf2f8,#fff1f2,#fce7f3)}
.page-hero h1{font-size:clamp(28px,5vw,48px);margin-bottom:16px;color:#1f2937}
.page-hero p{font-size:18px;color:#6b7280;max-width:600px;margin:0 auto 24px}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 32px;border-radius:999px;font-weight:600;font-size:14px;border:2px solid transparent;cursor:pointer;transition:all .2s}
.btn-primary{background:#ec4899;color:#fff}
.btn-primary:hover{background:#db2777;color:#fff}
.btn-outline{background:transparent;border-color:#e5e7eb;color:#333}
.btn-outline:hover{border-color:#ec4899;color:#ec4899}

/* ===== GRIDS (prefixed to avoid Tailwind .grid collision) ===== */
.kl-grid{display:grid;gap:24px}
.kl-grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.kl-grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.kl-grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* ===== BLOG CARDS ===== */
.blog-card{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff}
.blog-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.blog-card-img img{width:100%;height:200px;object-fit:cover}
.blog-card-body{padding:20px}
.blog-card-title{font-size:16px;font-weight:600;margin-bottom:8px}
.blog-card-title a{color:#333}
.blog-card-title a:hover{color:#ec4899}
.blog-card-date{font-size:13px;color:#888;margin-bottom:8px}
.blog-card-excerpt{font-size:14px;color:#555}

/* Блог / поиск: превью в карточке (класс Tailwind aspect-[16/10] часто отсутствует в собранном project.css — без рамки картинка визуально «сжимается») */
.kl-card-media{
    display:block;
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#f3f4f6;
}
@media (max-width:639px){
    .kl-card-media{ aspect-ratio:4/3; }
}
.kl-card-media img{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .3s ease;
}
article.group:hover .kl-card-media img{
    transform:scale(1.05);
}

/* ===== CONTACT CARDS ===== */
.contact-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:24px;text-align:center}
.contact-card-icon{width:48px;height:48px;border-radius:50%;background:#fce7f3;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:20px}
.contact-card-label{font-size:13px;color:#888;margin-bottom:4px}
.contact-card-value{font-weight:600;font-size:15px}

/* Главная #contacts: до sm — одна строка в карточке; кегль читабельнее, при нехватке места — гориз. прокрутка строки */
@media (max-width: 639px){
	#contacts .kl-home-contact-grid{
		gap:7px!important;
	}
	#contacts .kl-home-contact-grid > .kl-home-contact-cell{
		padding:8px 6px!important;
		gap:6px!important;
		align-items:center!important;
	}
	#contacts .kl-home-contact-grid > .kl-home-contact-cell > .shrink-0{
		width:29px!important;
		height:29px!important;
		min-width:29px!important;
		border-radius:8px!important;
	}
	#contacts .kl-home-contact-grid > .kl-home-contact-cell > .shrink-0 > span[aria-hidden="true"]{
		font-size:14px!important;
		line-height:1!important;
	}
	#contacts .kl-home-contact-grid > .kl-home-contact-cell--vk > .shrink-0 > span[aria-hidden="true"]{
		font-size:8.5px!important;
		font-weight:800!important;
		letter-spacing:-0.04em!important;
	}
	#contacts .kl-home-contact-grid > .kl-home-contact-cell--telegram > .shrink-0 svg{
		width:15px!important;
		height:15px!important;
	}
	#contacts .kl-home-contact-grid .kl-home-contact-cell > .min-w-0 > div:first-child{
		font-size:11px!important;
		line-height:1.18!important;
		margin-bottom:1px!important;
		white-space:nowrap!important;
	}
	#contacts .kl-home-contact-grid .kl-home-contact-cell > .min-w-0 > div:last-child{
		font-size:11px!important;
		line-height:1.22!important;
		letter-spacing:-0.015em!important;
		font-weight:600!important;
		white-space:nowrap!important;
		word-break:normal!important;
		overflow-wrap:normal!important;
		overflow-x:auto!important;
		overflow-y:hidden!important;
		max-width:100%!important;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
		-ms-overflow-style:none;
	}
	#contacts .kl-home-contact-grid .kl-home-contact-cell > .min-w-0 > div:last-child::-webkit-scrollbar{
		display:none;
	}
}
@media (max-width:359px){
	#contacts .kl-home-contact-grid .kl-home-contact-cell > .min-w-0 > div:first-child{
		font-size:10px!important;
	}
	#contacts .kl-home-contact-grid .kl-home-contact-cell > .min-w-0 > div:last-child{
		font-size:10px!important;
	}
}

/* ===== PAGINATION ===== */
.navigation.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}
.navigation.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:999px;border:1px solid #ddd;color:#555;padding:0 12px}
.navigation.pagination .page-numbers.current{background:#ec4899;color:#fff;border-color:#ec4899}
.navigation.pagination .page-numbers:hover{border-color:#ec4899;color:#ec4899}

/* ===== COMMENTS ===== */
.comments-area{margin-top:40px;padding-top:24px;border-top:1px solid #eee}
.comment-list{list-style:none;padding:0}
.comment-list .comment{padding:16px;border-bottom:1px solid #eee}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;margin-bottom:12px;font-size:15px}
.comment-form input[type="submit"]{border-radius:999px;background:#ec4899;color:#fff;padding:12px 32px;border:none;cursor:pointer}

/* ============================================
   WOOCOMMERCE — PROJECT DESIGN
   ============================================ */

/* Products grid */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(1,1fr)!important;gap:24px!important;list-style:none!important;padding:0!important;margin:0!important}
/*
 * Главная: «Популярные товары» — промежуток до кнопки «Все товары».
 * Margin-top/WC иногда даёт «как будто без отступа» (схлопывание, порядок стилей) — gap у flex надёжен.
 */
.kl-home-featured-loop{display:flex;flex-direction:column;gap:clamp(2.75rem,6vw,4.5rem)}
.kl-home-shop-all-wrap{margin-top:0}
@media(max-width:639px){
    .woocommerce ul.products{gap:18px!important}
}
/* kill WC legacy clearfix pseudo-cells that break grid layout */
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important;content:none!important}
@media(min-width:640px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(min-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}}
@media(min-width:1280px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)!important}}
.woocommerce ul.products li.product,
.woocommerce ul.products li.product-category{width:100%!important;float:none!important;clear:none!important;margin:0!important;padding:0!important;border:none!important;background:transparent!important;overflow:visible!important}

/* Превью в карточке каталога: фиксированное соотношение + чёткая картинка (srcset через wp_get_attachment_image; раньше — одна миниатюра 300px и без aspect-ratio из Tailwind) */
.woocommerce ul.products li.product a.kl-loop-product-media{
    display:block;
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:linear-gradient(135deg,#f3f4f6,#e5e7eb);
}
.woocommerce ul.products li.product a.kl-loop-product-media img{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .35s ease;
}
.woocommerce ul.products li.product .group:hover a.kl-loop-product-media img{
    transform:scale(1.05);
}

/* Category cards — 2 per row on mobile */
@media(max-width:639px){
    .woocommerce ul.products:has(li.product-category){
        grid-template-columns:repeat(2,1fr)!important;
        gap:12px!important;
    }
}
.woocommerce ul.products li.product-category{
    text-align:left;
    background:#fff!important;
    border:1px solid #f3f4f6!important;
    border-radius:16px!important;
    overflow:hidden!important;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product-category:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 28px -14px rgba(17,24,39,.18);
    border-color:#fbcfe8!important;
}
.woocommerce ul.products li.product-category > a{
    display:block;
    text-decoration:none;
    color:#111827;
}
.woocommerce ul.products li.product-category img,
.woocommerce ul.products li.product-category > a > img{
    display:block;
    width:100%!important;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    background:#fdf2f8;
    margin:0!important;
    border:0!important;
}
.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category h3,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{
    font-size:14px!important;
    font-weight:600!important;
    color:#111827!important;
    margin:0!important;
    padding:10px 12px 12px!important;
    line-height:1.35!important;
    letter-spacing:-0.005em;
}
.woocommerce ul.products li.product-category mark.count,
.woocommerce ul.products li.product-category .count{
    background:transparent!important;
    color:#9ca3af!important;
    font-weight:500!important;
    font-size:12px!important;
    margin-left:4px;
    padding:0!important;
}
@media(min-width:640px){
    .woocommerce ul.products li.product-category h2,
    .woocommerce ul.products li.product-category h3,
    .woocommerce ul.products li.product-category .woocommerce-loop-category__title{
        font-size:15px!important;
        padding:12px 14px 14px!important;
    }
}

/* Hide default WC sale badge (we render our own) */
.woocommerce ul.products li.product .onsale{display:none!important}

/* Product card button override (from functions.php custom class) */
.woocommerce ul.products li.product .button{background:#111827!important;color:#fff!important;border:none!important;border-radius:9999px!important;padding:8px 16px!important;font-size:14px!important;font-weight:500!important;transition:background .2s!important}
.woocommerce ul.products li.product .button:hover{background:#1f2937!important;box-shadow:none!important}
.woocommerce ul.products li.product .added_to_cart{display:block;text-align:center;font-size:13px;color:#ec4899;margin-top:8px}

/* Price styling in cards */
.woocommerce ul.products .price del{opacity:.5;margin-right:6px;color:#9ca3af;font-weight:400;font-size:14px}
.woocommerce ul.products .price ins{text-decoration:none}

/* Star ratings */
.woocommerce .star-rating{color:#fbbf24;font-size:14px;overflow:hidden;position:relative;display:inline-block}
.woocommerce .star-rating::before{content:"★★★★★";color:#fcd34d}
.woocommerce .star-rating span{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap}
.woocommerce .star-rating span::before{content:"★★★★★";color:#fbbf24}
.woocommerce p.stars a{color:#fbbf24;font-size:16px}
.woocommerce .woocommerce-product-rating{margin-bottom:8px;display:flex;align-items:center;gap:8px}

/* Shop controls */
.woocommerce-result-count{padding-top:8px;color:#888;font-size:14px}
.woocommerce-ordering select{border-radius:999px;border:1px solid #ddd;padding:8px 16px;font-size:14px}

/* Single product — project-style */
.woocommerce div.product{margin-top:0}
/* kill WC legacy clearfix pseudo-cells on single product */
.woocommerce div.product::before,
.woocommerce div.product::after,
.woocommerce div.product .woocommerce-product-gallery::before,
.woocommerce div.product .woocommerce-product-gallery::after,
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after{display:none!important;content:none!important}

.woocommerce div.product div.images,
.woocommerce div.product div.summary{float:none!important;width:100%!important;clear:none!important;margin:0!important}

/* Mobile-first: image on top, summary under */
.woocommerce div.product{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}

@media(min-width:1024px){
    .woocommerce div.product{grid-template-columns:minmax(0,440px) minmax(0,1fr)!important;gap:28px 40px!important;align-items:start!important}
    .woocommerce div.product div.images{grid-column:1!important;grid-row:1!important;align-self:start!important;position:static!important}
    .woocommerce div.product div.summary{grid-column:2!important;grid-row:1!important;align-self:start!important}
    .woocommerce div.product .woocommerce-tabs{grid-column:1/-1!important;grid-row:2!important;margin-top:12px!important}
    .woocommerce div.product .related.products,
    .woocommerce div.product .upsells.products{grid-column:1/-1!important}
}
@media(min-width:1280px){
    .woocommerce div.product{grid-template-columns:minmax(0,480px) minmax(0,1fr)!important}
}

/* Ensure image and summary start at same top (no sneaky margins) */
.woocommerce div.product div.images,
.woocommerce div.product div.summary{margin-top:0!important}
.woocommerce div.product div.images{padding-top:0!important}
.woocommerce div.product div.images > *:first-child,
.woocommerce div.product div.summary > *:first-child{margin-top:0!important}

/* Image sizes: десктоп — колонка до 440/480px; планшет/мобилка — ровно ширина сетки, как у summary (без calc/negative margin — иначе галерея уже белой карточки) */
.woocommerce div.product div.images{width:100%!important;max-width:440px!important;margin:0 auto!important}
@media(max-width:1023px){
    .woocommerce div.product div.images{
        max-width:100%!important;
        width:100%!important;
        min-width:0!important;
        margin-left:0!important;
        margin-right:0!important;
    }
}
@media(min-width:1280px){
    .woocommerce div.product div.images{max-width:480px!important}
}

/* Gallery wrapper (WC sets inline width var) */
.woocommerce div.product div.images{position:relative!important}
.woocommerce div.product div.images .woocommerce-product-gallery{width:100%!important;max-width:100%!important;float:none!important;position:relative!important;display:block!important}
/* FlexSlider: вьюпорт не уже колонки (иначе «узкая» картинка при полной ширине карточки цены) */
.woocommerce div.product div.images .flex-viewport{width:100%!important;max-width:100%!important}
/* Не задавать width/display на __wrapper — FlexSlider выставляет ширину и transform; !important ломает смену слайдов */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0!important;padding:0!important;position:relative}
.woocommerce div.product div.images .woocommerce-product-gallery__image{
    position:relative;
    background:#fdf2f8;
    border-radius:16px;
    overflow:hidden;
    aspect-ratio:1/1;
    width:100%;
    display:block;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a{
    display:block!important;
    width:100%!important;
    height:100%!important;
    line-height:0;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img{
    border-radius:16px;
    display:block;
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    max-height:none!important;
    position:absolute;
    inset:0;
}
.woocommerce div.product div.images .flex-control-thumbs{display:flex!important;flex-wrap:wrap;gap:8px;margin-top:10px;padding:0!important;list-style:none}
.woocommerce div.product div.images .flex-control-thumbs li{flex:0 0 calc(25% - 6px);margin:0!important}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:10px;border:2px solid transparent;cursor:pointer;transition:border-color .2s;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover{border-color:#ec4899}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
    position:absolute!important;
    top:12px!important;right:12px!important;
    z-index:9;
    width:36px;height:36px;
    border-radius:999px;
    background:rgba(255,255,255,.95)!important;
    border:1px solid #f3f4f6;
    font-size:14px!important;
    line-height:1;
    display:inline-flex!important;
    align-items:center;justify-content:center;
    box-shadow:0 4px 14px -6px rgba(17,24,39,.2);
    text-decoration:none!important;
    transition:background-color .2s ease, transform .15s ease;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover{
    background:#fff!important;
    transform:scale(1.05);
}

/* PhotoSwipe (WooCommerce галерея / лупа): WC задаёт z-index:1500 — шапка и оверлеи темы (до 99999) оказываются поверх; фиксируем к вьюпорту и поднимаем слой */
.pswp{
    position:fixed!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    z-index:300000!important;
}
.admin-bar .pswp{
    height:calc(100% - var(--wp-admin--admin-bar--height, 0px))!important;
    top:var(--wp-admin--admin-bar--height, 0px)!important;
}
.pswp__top-bar{
    padding-top:env(safe-area-inset-top,0px);
}

/* Summary — card */
.woocommerce div.product div.summary{
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:20px;
    padding:28px;
    box-shadow:0 6px 24px -14px rgba(17,24,39,.08);
}
@media(min-width:1024px){
    .woocommerce div.product div.summary{padding:32px}
}

/* Title */
.woocommerce div.product .product_title{
    font-size:clamp(22px,3.4vw,32px)!important;
    font-weight:700!important;
    margin:0 0 10px!important;
    color:#111827!important;
    letter-spacing:-0.02em;
    line-height:1.2;
}

/* Rating row if any */
.woocommerce div.product .woocommerce-product-rating{margin:-4px 0 10px!important}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
    font-size:28px!important;
    font-weight:800!important;
    color:#ec4899!important;
    margin:0 0 18px!important;
    letter-spacing:-0.01em;
    display:inline-flex;
    align-items:baseline;
    gap:10px;
    flex-wrap:wrap;
}
.woocommerce div.product .price del{opacity:1!important;color:#9ca3af!important;font-weight:500!important;font-size:18px!important;text-decoration:line-through}
.woocommerce div.product .price ins{text-decoration:none!important;color:#ec4899!important;background:transparent!important}

/* Stock badge */
.woocommerce div.product .stock{
    display:inline-flex;align-items:center;gap:6px;
    padding:4px 10px;margin:0 0 16px!important;
    border-radius:999px;
    font-size:12.5px;font-weight:600;
    background:#ecfdf5;color:#047857;
    border:1px solid #a7f3d0;
}
.woocommerce div.product .stock.out-of-stock{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.woocommerce div.product .stock::before{
    content:"";width:6px;height:6px;border-radius:50%;background:currentColor;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description{
    margin:4px 0 22px!important;
    padding:0!important;
    color:#4b5563;
    font-size:15px;
    line-height:1.7;
}
.woocommerce div.product .woocommerce-product-details__short-description p{margin:0 0 8px}
.woocommerce div.product .woocommerce-product-details__short-description :last-child{margin-bottom:0}

/* Form cart layout
   - Variable products:  row 1 = variations table (100%)
                         row 2 = .single_variation_wrap → .variations_button (qty + button + wishlist)
   - Simple products:    single row with qty + button + wishlist */
.woocommerce div.product form.cart{
    margin:0 0 20px!important;
    display:flex;
    flex-wrap:wrap;
    align-items:stretch;
    gap:10px 10px;
    row-gap:14px;
}
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .single_variation_wrap,
.woocommerce div.product form.cart .quantity,
.woocommerce div.product form.cart .single_add_to_cart_button{margin:0!important}

/* Variations table — take its own full-width row above everything */
.woocommerce div.product form.cart .variations{
    flex:1 0 100%;
    order:-1;
    width:100%;
}

/* Variation add-to-cart wrapper — full-width row that houses qty + button + wishlist */
.woocommerce div.product form.cart .single_variation_wrap{
    flex:1 0 100%;
    width:100%;
}
.woocommerce div.product form.cart .variations_button{
    display:flex;
    flex-wrap:nowrap;
    gap:10px;
    align-items:stretch;
    width:100%;
}
.woocommerce div.product form.cart .variations_button .quantity{flex:0 0 auto}
.woocommerce div.product form.cart .variations_button .single_add_to_cart_button{flex:1 1 0;min-width:0}
.woocommerce div.product form.cart .variations_button .kl-product-wishlist{flex:0 0 auto}

/* Quantity with +/- buttons */
.woocommerce div.product form.cart .quantity{
    display:inline-flex;align-items:stretch;
    flex:0 0 auto;
    border:1.5px solid #e5e7eb;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    height:54px;
    position:relative;
}
.woocommerce div.product form.cart .quantity .kl-qty-btn{
    width:40px;border:0;background:transparent;color:#374151;
    font-size:18px;font-weight:600;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;
    transition:background-color .15s ease, color .15s ease;
    padding:0;
}
.woocommerce div.product form.cart .quantity .kl-qty-btn:hover{background:#fdf2f8;color:#ec4899}
.woocommerce div.product form.cart .quantity .kl-qty-btn:disabled{color:#d1d5db;cursor:not-allowed;background:transparent}
.woocommerce div.product form.cart .quantity input.qty{
    border:0!important;
    width:44px!important;
    text-align:center!important;
    font-size:15px!important;
    font-weight:600;
    background:transparent!important;
    box-shadow:none!important;
    -moz-appearance:textfield;
    padding:0!important;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Add to cart button */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.single_add_to_cart_button.button{
    flex:1 1 0!important;
    min-width:0!important;
    height:54px!important;
    border-radius:14px!important;
    background:linear-gradient(135deg,#ec4899,#f472b6)!important;
    color:#fff!important;
    padding:0 28px!important;
    font-weight:700!important;
    font-size:15px!important;
    letter-spacing:.01em;
    border:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px;
    box-shadow:0 10px 30px -12px rgba(236,72,153,.55)!important;
    transition:transform .15s ease, box-shadow .2s ease, filter .2s ease!important;
    cursor:pointer;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 36px -12px rgba(236,72,153,.7)!important;
    filter:brightness(1.03);
}

/* Wishlist button inside summary */
.kl-product-wishlist{
    height:54px;width:54px;flex:0 0 auto;
    border-radius:14px;
    border:1.5px solid #e5e7eb;
    background:#fff;
    color:#9ca3af;
    display:inline-flex;align-items:center;justify-content:center;
    cursor:pointer;
    transition:color .2s ease, border-color .2s ease, background-color .2s ease, transform .15s ease;
    padding:0;
}
.kl-product-wishlist svg{width:22px;height:22px}
.kl-product-wishlist:hover{color:#ec4899;border-color:#fbcfe8;background:#fff}
.kl-product-wishlist.is-active{color:#ec4899;border-color:#fbcfe8;background:#fdf2f8}
.kl-product-wishlist.is-active svg{fill:#ec4899}

/* Trust row */
.kl-product-trust{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:4px;
    padding-top:18px;
    border-top:1px dashed #f3f4f6;
}
.kl-product-trust-item{
    display:flex;align-items:center;gap:10px;
    padding:10px 8px;
    border-radius:12px;
    background:#f9fafb;
}
.kl-product-trust-item svg{width:20px;height:20px;color:#ec4899;flex:0 0 auto}
.kl-product-trust-item span{font-size:12.5px;line-height:1.35;color:#374151;font-weight:500}
@media(max-width:639px){
    .kl-product-trust{grid-template-columns:1fr}
    .kl-product-trust-item span{font-size:13px}
}

/* Product meta (category / SKU / tags) */
.woocommerce div.product .product_meta{
    margin:20px 0 0!important;
    padding-top:16px!important;
    border-top:1px dashed #f3f4f6;
    font-size:13px;
    color:#6b7280;
    display:flex;flex-wrap:wrap;gap:8px 16px;
}
.woocommerce div.product .product_meta > span{
    display:inline-flex;align-items:center;gap:6px;
    background:transparent;
    color:#6b7280;
}
.woocommerce div.product .product_meta a{
    color:#111827!important;
    background:#f3f4f6;
    padding:3px 10px;
    border-radius:999px;
    font-weight:500;
    text-decoration:none!important;
    transition:background-color .2s ease, color .2s ease;
}
.woocommerce div.product .product_meta a:hover{background:#fce7f3;color:#be185d!important}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{
    margin-top:32px!important;
    padding:0!important;
    border-top:0!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
    padding:0!important;
    border:0!important;
    background:none!important;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 16px!important;
    list-style:none!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none!important;content:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
    border:0!important;background:none!important;padding:0!important;margin:0!important;
    box-shadow:none!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
    display:block;
    padding:10px 20px;
    color:#6b7280;
    font-weight:600;
    font-size:13.5px;
    border-radius:999px;
    background:#f9fafb;
    text-decoration:none!important;
    transition:all .2s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{background:#fdf2f8;color:#be185d}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
    background:#111827!important;
    color:#fff!important;
}
.woocommerce div.product .woocommerce-tabs .panel{
    margin:0!important;
    padding:24px 28px!important;
    border:1px solid #f3f4f6!important;
    border-radius:18px!important;
    background:#fff!important;
    color:#1f2937;
    font-size:15px;
    line-height:1.75;
    box-shadow:0 6px 24px -18px rgba(17,24,39,.08);
}
.woocommerce div.product .woocommerce-tabs .panel h2{
    font-size:18px;font-weight:700;color:#111827;
    margin:0 0 14px;letter-spacing:-0.01em;
}
.woocommerce div.product .woocommerce-tabs .panel h3{
    font-size:16px;font-weight:700;color:#111827;margin:18px 0 8px;
}
.woocommerce div.product .woocommerce-tabs .panel p{margin:0 0 12px}
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol{margin:0 0 14px;padding-left:20px}
.woocommerce div.product .woocommerce-tabs .panel ul li{list-style:disc;margin:0 0 4px}
.woocommerce div.product .woocommerce-tabs .panel ol li{list-style:decimal;margin:0 0 4px}
.woocommerce div.product .woocommerce-tabs .panel table{
    width:100%;border-collapse:collapse;border:1px solid #f3f4f6;border-radius:12px;overflow:hidden;margin:8px 0 16px;
}
.woocommerce div.product .woocommerce-tabs .panel table th,
.woocommerce div.product .woocommerce-tabs .panel table td{
    padding:10px 14px;border-bottom:1px solid #f3f4f6;text-align:left;font-size:14px;
}
.woocommerce div.product .woocommerce-tabs .panel table th{background:#f9fafb;color:#6b7280;font-weight:600}
.woocommerce div.product .woocommerce-tabs .panel table tr:last-child td{border-bottom:0}

/* Related products heading */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .up-sells > h2{
    font-size:22px!important;
    font-weight:700!important;
    color:#111827!important;
    margin:40px 0 16px!important;
    letter-spacing:-0.01em;
}

/* Cart page */
.woocommerce-cart table.cart{width:100%;border-collapse:collapse;border:1px solid #f3f4f6;border-radius:16px;overflow:hidden;margin-bottom:24px}
.woocommerce-cart table.cart th{background:#f9fafb;padding:14px 16px;font-size:13px;text-transform:uppercase;color:#9ca3af;text-align:left;font-weight:600}
.woocommerce-cart table.cart td{padding:16px 12px;vertical-align:middle;border-top:1px solid #f3f4f6}
.woocommerce-cart table.cart .product-thumbnail img{width:80px;height:80px;object-fit:cover;border-radius:12px}
.woocommerce-cart table.cart .product-name a{color:#111827;font-weight:600}
.woocommerce-cart table.cart .product-name a:hover{color:#ec4899}
.woocommerce-cart table.cart .product-remove a{color:#ef4444;font-size:20px}
.woocommerce-cart table.cart .product-quantity input.qty{width:64px;text-align:center;padding:8px;border:2px solid #e5e7eb;border-radius:12px}
.woocommerce-cart .cart-collaterals{border:1px solid #f3f4f6;border-radius:16px;padding:24px;max-width:400px;margin-left:auto;background:#fff}
.woocommerce-cart .cart-collaterals h2{font-size:18px;font-weight:600;margin-bottom:16px;color:#111827}
.woocommerce-cart .cart-collaterals .cart_totals table{width:100%;margin-bottom:16px}
.woocommerce-cart .cart-collaterals .cart_totals th{text-align:left;padding:8px 0;font-weight:500;color:#6b7280}
.woocommerce-cart .cart-collaterals .cart_totals td{text-align:right;padding:8px 0;font-weight:700;color:#111827}
.woocommerce-cart .cart-collaterals .checkout-button{display:block;width:100%;text-align:center;border-radius:9999px!important;background:#111827!important;color:#fff!important;padding:16px 32px!important;font-weight:600!important;font-size:16px!important;border:none!important;transition:background .2s!important}
.woocommerce-cart .cart-collaterals .checkout-button:hover{background:#1f2937!important}
.woocommerce-cart .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.woocommerce-cart .actions .button{border-radius:9999px!important;border:2px solid #e5e7eb!important;padding:10px 24px!important;background:#fff!important;color:#374151!important}
.woocommerce-cart .actions .button:hover{border-color:#111827!important;color:#111827!important;background:#fff!important}

/* Checkout page */
.woocommerce-checkout .form-row{margin-bottom:16px}
.woocommerce-checkout .form-row label{font-weight:500;margin-bottom:4px;font-size:14px;display:block;color:#374151}
.woocommerce-checkout input,.woocommerce-checkout textarea,.woocommerce-checkout select{width:100%;border-radius:12px;border:2px solid #e5e7eb;padding:12px 16px;font-size:15px;transition:border-color .2s}
.woocommerce-checkout input:focus,.woocommerce-checkout textarea:focus,.woocommerce-checkout select:focus{border-color:#111827;outline:none;box-shadow:none}
.woocommerce-checkout #payment{background:#f9fafb;border-radius:16px;padding:24px;margin-top:24px;border:1px solid #f3f4f6}
.woocommerce-checkout #payment .place-order .button{display:block;width:100%;border-radius:9999px!important;background:#111827!important;color:#fff!important;padding:16px 40px!important;font-size:18px!important;border:none!important;font-weight:600!important;transition:background .2s!important}
.woocommerce-checkout #payment .place-order .button:hover{background:#1f2937!important}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin-bottom:16px}
.woocommerce-checkout #payment ul.payment_methods li{padding:16px;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:8px;transition:border-color .2s}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:#111827}

/* ----- Страница «Заказ принят» / order-received (классический WC) ----- */
body.woocommerce-order-received .woocommerce-order{
    max-width:52rem;
    margin:0 auto;
}
body.woocommerce-order-received .woocommerce-thankyou-order-received{
    font-size:1.0625rem;
    line-height:1.55;
    color:#4b5563;
    margin:0 0 1.25rem;
}
body.woocommerce-order-received .woocommerce-notice--success{
    background:#dcfce7;
    color:#166534;
    border:1px solid #86efac;
    border-radius:16px;
    padding:1rem 1.25rem;
    margin:0 0 1.75rem;
    font-weight:500;
    box-shadow:0 4px 18px -8px rgba(22,101,52,.18);
}
body.woocommerce-order-received .woocommerce-notice--success::before{display:none}
/* Мета-заказа: номер, дата, email, итого, оплата — один ряд (на узком экране горизонтальный скролл) */
body.woocommerce-order-received ul.order_details,
body.woocommerce-order-received ul.woocommerce-order-overview{
    list-style:none;
    margin:0 0 1.75rem;
    padding:0;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    gap:10px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}
body.woocommerce-order-received ul.order_details li,
body.woocommerce-order-received ul.woocommerce-order-overview li{
    margin:0;
    flex:1 1 0;
    min-width:8.5rem;
    max-width:100%;
    padding:12px 14px;
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:14px;
    font-size:0.8125rem;
    line-height:1.35;
    color:#6b7280;
    text-transform:none;
    box-shadow:0 2px 12px -6px rgba(17,24,39,.08);
    word-break:break-word;
}
body.woocommerce-order-received ul.order_details li strong,
body.woocommerce-order-received ul.woocommerce-order-overview li strong{
    display:block;
    font-size:0.6875rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#9ca3af;
    margin-bottom:6px;
}
@media(min-width:900px){
    body.woocommerce-order-received ul.order_details,
    body.woocommerce-order-received ul.woocommerce-order-overview{
        overflow-x:visible;
    }
    body.woocommerce-order-received ul.order_details li,
    body.woocommerce-order-received ul.woocommerce-order-overview li{
        min-width:0;
    }
}
body.woocommerce-order-received .woocommerce-order-details{
    margin:0 0 1.75rem;
    padding:0;
    border:none;
    background:transparent;
}
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received h2.woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title{
    font-size:1.125rem;
    font-weight:700;
    color:#111827;
    margin:0 0 14px;
    padding:0;
    letter-spacing:-0.02em;
}
body.woocommerce-order-received table.shop_table.order_details,
body.woocommerce-order-received table.woocommerce-table--order-details{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    border:1px solid #f3f4f6;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 6px 28px -12px rgba(17,24,39,.1);
    margin:0;
}
body.woocommerce-order-received table.shop_table.order_details thead th,
body.woocommerce-order-received table.woocommerce-table--order-details thead th{
    background:#fafafa;
    padding:14px 18px;
    font-size:0.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#9ca3af;
    border-bottom:1px solid #f3f4f6;
    text-align:left;
}
body.woocommerce-order-received table.shop_table.order_details thead th:last-child,
body.woocommerce-order-received table.woocommerce-table--order-details thead th:last-child{
    text-align:right;
}
body.woocommerce-order-received table.shop_table.order_details tbody td,
body.woocommerce-order-received table.shop_table.order_details tfoot th,
body.woocommerce-order-received table.shop_table.order_details tfoot td,
body.woocommerce-order-received table.woocommerce-table--order-details tbody td,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td{
    padding:14px 18px;
    border-top:1px solid #f3f4f6;
    vertical-align:top;
    font-size:0.9375rem;
    color:#374151;
}
body.woocommerce-order-received table.shop_table.order_details tbody td:last-child,
body.woocommerce-order-received table.shop_table.order_details tfoot td:last-child,
body.woocommerce-order-received table.woocommerce-table--order-details tbody td:last-child,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot td:last-child{
    text-align:right;
    font-weight:600;
    color:#111827;
}
body.woocommerce-order-received table.shop_table.order_details tfoot th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot th{
    text-align:left;
    font-weight:500;
    color:#6b7280;
    background:#fff;
}
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td{
    font-weight:700;
    font-size:1rem;
    color:#111827;
    background:#fdf2f8;
    border-top:1px solid #fce7f3;
}
body.woocommerce-order-received .woocommerce-columns--addresses{
    display:grid;
    gap:1rem;
    margin:2rem 0 1.75rem;
}
@media(min-width:768px){
    body.woocommerce-order-received .woocommerce-columns--addresses{
        grid-template-columns:1fr 1fr;
        gap:1.25rem;
    }
}
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address{
    margin:0;
    padding:1.35rem 1.4rem 1.4rem;
    background:linear-gradient(180deg,#f0fdf4 0%,#fff 48%);
    border:1px solid #bbf7d0;
    border-radius:18px;
    border-left:4px solid #22c55e;
    box-shadow:0 6px 28px -12px rgba(22,101,52,.12);
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:0 1rem;
    column-gap:1.25rem;
}
body.woocommerce-order-received .woocommerce-column--billing-address > .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-column--shipping-address > .woocommerce-column__title{
    flex:0 0 100%;
    width:100%;
    margin:0 0 14px;
    padding-bottom:12px;
    border-bottom:1px dashed rgba(34,197,94,.35);
    font-size:1.125rem;
    font-weight:700;
    letter-spacing:-0.02em;
    color:#14532d;
}
body.woocommerce-order-received .woocommerce-column--billing-address > address,
body.woocommerce-order-received .woocommerce-column--shipping-address > address{
    flex:0 0 100%;
    width:100%;
    margin:0 0 4px;
    padding:14px 16px;
    background:rgba(255,255,255,.72);
    border:1px solid #d1fae5;
    border-radius:14px;
    box-sizing:border-box;
}
body.woocommerce-order-received .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details--email{
    flex:1 1 calc(50% - 0.75rem);
    min-width:11rem;
    margin:12px 0 0;
    padding:10px 12px;
    font-size:0.875rem;
    font-weight:500;
    color:#166534;
    background:#fff;
    border:1px solid #d1fae5;
    border-radius:12px;
    line-height:1.45;
}
body.woocommerce-order-received .woocommerce-customer-details--phone::before,
body.woocommerce-order-received .woocommerce-customer-details--email::before{
    opacity:1;
    color:#22c55e;
}
body.woocommerce-order-received address{
    font-style:normal;
    line-height:1.7;
    color:#374151;
    font-size:0.9375rem;
    margin:0;
}
body.woocommerce-order-received .woocommerce-bacs-bank-details{
    margin-top:1.25rem;
    padding:1.25rem;
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:16px;
    font-size:0.9375rem;
}
body.woocommerce-order-received .woocommerce-thankyou-order-failed{
    padding:1rem 1.25rem;
    border-radius:16px;
    background:#fef2f2;
    border:1px solid #fecaca;
    color:#991b1b;
    margin-bottom:1.25rem;
}
body.woocommerce-order-received .woocommerce-order-downloads{
    margin:0 0 1.75rem;
    padding:1.25rem 1.35rem;
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:18px;
    box-shadow:0 6px 28px -12px rgba(17,24,39,.08);
}
body.woocommerce-order-received .woocommerce-order-downloads .woocommerce-order-downloads__title{
    font-size:1.125rem;
    font-weight:700;
    margin:0 0 12px;
    color:#111827;
}

/* ----- Подтверждение заказа: WooCommerce Blocks (шаблон с wp-block-woocommerce-order-confirmation-*) ----- */
.wp-block-woocommerce-order-confirmation-billing-wrapper,
.wp-block-woocommerce-order-confirmation-shipping-wrapper{
    margin:2rem 0 1.75rem;
    padding:1.35rem 1.4rem 1.4rem;
    background:linear-gradient(180deg,#f0fdf4 0%,#fff 48%);
    border:1px solid #bbf7d0;
    border-radius:18px;
    border-left:4px solid #22c55e;
    box-shadow:0 6px 28px -12px rgba(22,101,52,.12);
    box-sizing:border-box;
}
.wp-block-woocommerce-order-confirmation-billing-wrapper > :is(h1,h2,h3,h4,.wp-block-heading):first-child,
.wp-block-woocommerce-order-confirmation-shipping-wrapper > :is(h1,h2,h3,h4,.wp-block-heading):first-child{
    margin:0 0 14px;
    padding-bottom:12px;
    border-bottom:1px dashed rgba(34,197,94,.35);
    font-size:1.125rem;
    font-weight:700;
    letter-spacing:-0.02em;
    color:#14532d;
}
.wp-block-woocommerce-order-confirmation-billing-address,
.wp-block-woocommerce-order-confirmation-shipping-address{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:0 1rem;
    column-gap:1.25rem;
    margin:2rem 0 1.75rem;
    padding:1.35rem 1.4rem 1.4rem;
    background:linear-gradient(180deg,#f0fdf4 0%,#fff 48%);
    border:1px solid #bbf7d0;
    border-radius:18px;
    border-left:4px solid #22c55e;
    box-shadow:0 6px 28px -12px rgba(22,101,52,.12);
    box-sizing:border-box;
}
.wp-block-woocommerce-order-confirmation-billing-wrapper .wp-block-woocommerce-order-confirmation-billing-address,
.wp-block-woocommerce-order-confirmation-shipping-wrapper .wp-block-woocommerce-order-confirmation-shipping-address{
    margin:0;
    padding:0;
    background:transparent;
    border:none;
    border-radius:0;
    box-shadow:none;
    border-left:none;
}
:is(h1,h2,h3,h4,.wp-block-heading):has(+ .wp-block-woocommerce-order-confirmation-billing-address),
:is(h1,h2,h3,h4,.wp-block-heading):has(+ .wp-block-woocommerce-order-confirmation-shipping-address){
    font-size:1.125rem;
    font-weight:700;
    margin:2rem 0 0;
    color:#14532d;
    letter-spacing:-0.02em;
}
:is(h1,h2,h3,h4,.wp-block-heading):has(+ .wp-block-woocommerce-order-confirmation-billing-address) + .wp-block-woocommerce-order-confirmation-billing-address,
:is(h1,h2,h3,h4,.wp-block-heading):has(+ .wp-block-woocommerce-order-confirmation-shipping-address) + .wp-block-woocommerce-order-confirmation-shipping-address{
    margin-top:0.75rem;
}
.wp-block-woocommerce-order-confirmation-billing-address > address,
.wp-block-woocommerce-order-confirmation-shipping-address > address,
.wp-block-woocommerce-order-confirmation-billing-wrapper .wp-block-woocommerce-order-confirmation-billing-address > address,
.wp-block-woocommerce-order-confirmation-shipping-wrapper .wp-block-woocommerce-order-confirmation-shipping-address > address{
    flex:0 0 100%;
    width:100%;
    margin:0 0 4px;
    padding:14px 16px;
    background:rgba(255,255,255,.72);
    border:1px solid #d1fae5;
    border-radius:14px;
    box-sizing:border-box;
    font-style:normal;
    line-height:1.7;
    color:#374151;
    font-size:0.9375rem;
}
.wp-block-woocommerce-order-confirmation-billing-address .woocommerce-customer-details--phone,
.wp-block-woocommerce-order-confirmation-billing-address .woocommerce-customer-details--email,
.wp-block-woocommerce-order-confirmation-shipping-address .woocommerce-customer-details--phone,
.wp-block-woocommerce-order-confirmation-shipping-address .woocommerce-customer-details--email,
.wp-block-woocommerce-order-confirmation-billing-wrapper .woocommerce-customer-details--phone,
.wp-block-woocommerce-order-confirmation-billing-wrapper .woocommerce-customer-details--email,
.wp-block-woocommerce-order-confirmation-shipping-wrapper .woocommerce-customer-details--phone,
.wp-block-woocommerce-order-confirmation-shipping-wrapper .woocommerce-customer-details--email{
    flex:1 1 calc(50% - 0.75rem);
    min-width:11rem;
    margin:12px 0 0;
    padding:10px 12px;
    font-size:0.875rem;
    font-weight:500;
    color:#166534;
    background:#fff;
    border:1px solid #d1fae5;
    border-radius:12px;
    line-height:1.45;
}
.wp-block-woocommerce-order-confirmation-billing-address .woocommerce-customer-details--phone::before,
.wp-block-woocommerce-order-confirmation-billing-address .woocommerce-customer-details--email::before,
.wp-block-woocommerce-order-confirmation-shipping-address .woocommerce-customer-details--phone::before,
.wp-block-woocommerce-order-confirmation-shipping-address .woocommerce-customer-details--email::before,
.wp-block-woocommerce-order-confirmation-billing-wrapper .woocommerce-customer-details--phone::before,
.wp-block-woocommerce-order-confirmation-billing-wrapper .woocommerce-customer-details--email::before,
.wp-block-woocommerce-order-confirmation-shipping-wrapper .woocommerce-customer-details--phone::before,
.wp-block-woocommerce-order-confirmation-shipping-wrapper .woocommerce-customer-details--email::before{
    opacity:1;
    color:#22c55e;
}

/* My Account — styles moved to page.php inline, extras here */
.woocommerce-account .woocommerce-MyAccount-content h2{font-size:24px;margin-bottom:16px;color:#111827;font-weight:700}
.woocommerce-account .woocommerce-MyAccount-content h3{font-size:20px;margin:24px 0 12px;color:#111827;font-weight:600}
.woocommerce-account .woocommerce-MyAccount-content{max-width:100%;box-sizing:border-box;overflow-x:auto}
.woocommerce-account .woocommerce-MyAccount-content *{max-width:100%;box-sizing:border-box}
.woocommerce-account .woocommerce-MyAccount-content table{width:100%;max-width:100%}
.woocommerce-account .woocommerce-MyAccount-content table th,.woocommerce-account .woocommerce-MyAccount-content table td{word-break:break-word}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions,.woocommerce-account .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions{white-space:nowrap}
.woocommerce-account table.my_account_orders{width:100%;border-collapse:collapse}
.woocommerce-account table.my_account_orders th{background:#f9fafb;padding:12px;text-align:left;font-size:13px;text-transform:uppercase;color:#9ca3af;font-weight:600}
.woocommerce-account table.my_account_orders td{padding:12px;border-top:1px solid #f3f4f6}
.woocommerce-account .woocommerce-MyAccount-content .button{border-radius:9999px!important;background:#111827!important;color:#fff!important;padding:8px 20px!important;border:none!important;transition:background .2s!important}
.woocommerce-account .woocommerce-MyAccount-content .button:hover{background:#1f2937!important}
.woocommerce-account .woocommerce-order-details,.woocommerce-account .woocommerce-customer-details,.woocommerce-account .woocommerce-order-downloads{border:1px solid #f3f4f6;border-radius:16px;padding:24px;margin-bottom:24px}
.woocommerce-account .woocommerce-address-fields{border:1px solid #f3f4f6;border-radius:16px;padding:24px;margin-bottom:16px}
.woocommerce-account .woocommerce-address-fields address{font-style:normal;line-height:1.8}

/* Login / Register — базовые стили + страница гостевого аккаунта (.kl-login-page) */
.kl-login-page{padding:8px 0 16px;display:flex;justify-content:center;width:100%}
.kl-login-card-wrap{width:100%;max-width:432px;margin:0 auto}
.kl-login-card-wrap--wide{max-width:920px}
.kl-login-page #customer_login.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0;width:100%;align-items:flex-start}
@media(max-width:800px){.kl-login-page #customer_login.col2-set{grid-template-columns:1fr}}

/* WooCommerce дублирует заголовок формы («Вход») — уже есть главный &lt;h1&gt; */
.kl-login-page .kl-login-card-wrap>h2:first-of-type,.kl-login-page .u-column1>h2:first-of-type,.kl-login-page .u-column2>h2:first-of-type{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.woocommerce-form-login,.woocommerce-form-register{
    max-width:100%;
    margin:0 auto;
    padding:30px 28px;
    border:1px solid rgba(236,72,153,.12);
    border-radius:22px;
    background:linear-gradient(165deg,#fff 0%,#fff8fb 100%);
    box-shadow:
        0 4px 6px rgba(17,24,39,.03),
        0 22px 50px rgba(236,72,153,.08),
        inset 0 1px 0 rgba(255,255,255,.9);
}

.kl-login-page .woocommerce-form-login,
.kl-login-page .woocommerce-form-register{border-radius:22px;padding:32px 30px}

.woocommerce-form-login .form-row,.woocommerce-form-register .form-row{margin-bottom:18px}
.woocommerce-form-login label,.woocommerce-form-register label{font-weight:600;margin-bottom:8px;display:block;color:#374151;font-size:.9rem}

.woocommerce-form-login input:not([type="checkbox"]):not([type="submit"]),
.woocommerce-form-register input:not([type="checkbox"]):not([type="submit"]),
.woocommerce-form-login textarea,
.woocommerce-form-register textarea{
    width:100%;
    padding:14px 16px!important;
    border:2px solid #e8e9ef!important;
    border-radius:14px!important;
    font-size:16px;
    transition:border-color .2s, box-shadow .2s;
    background:#fff!important;
}
.woocommerce-form-login input:not([type="checkbox"]):not([type="submit"]):focus,
.woocommerce-form-register input:not([type="checkbox"]):not([type="submit"]):focus{
    outline:none!important;
    border-color:#ec4899!important;
    box-shadow:0 0 0 4px rgba(236,72,153,.14)!important;
}
.woocommerce-form-login .woocommerce-form__label-for-checkbox span,
.woocommerce-form-register .woocommerce-form__label-for-checkbox span{font-weight:500;color:#6b7280}

.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit,
.woocommerce-form-login .button,
.woocommerce-form-register .button{
    width:100%!important;
    border-radius:9999px!important;
    padding:14px!important;
    margin-top:4px!important;
    font-size:16px!important;
    font-weight:600!important;
    border:none!important;
    background:linear-gradient(135deg,#ec4899 0%,#db2777 45%,#be185d 100%)!important;
    color:#fff!important;
    cursor:pointer!important;
    box-shadow:0 14px 32px rgba(219,39,119,.29)!important;
    transition:filter .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce-form-register .woocommerce-form-register__submit:hover,
.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover{
    filter:brightness(1.04);
    transform:translateY(-1px);
    box-shadow:0 18px 36px rgba(219,39,119,.34)!important;
}

.woocommerce-LostPassword{margin-top:14px;text-align:center;font-size:.9rem}
.woocommerce-LostPassword a{color:#db2777;font-weight:500}
.kl-login-page .woocommerce-message,.kl-login-page .woocommerce-error,.kl-login-page .woocommerce-info{border-radius:14px;margin-bottom:1.25rem}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{border:none;display:flex;gap:4px;justify-content:center;padding-top:32px}
.woocommerce nav.woocommerce-pagination ul li{border:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border:none;border-radius:9999px;padding:10px 18px;transition:all .2s;color:#6b7280}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:#f3f4f6;color:#111827}
.woocommerce nav.woocommerce-pagination ul li span.current{background:#111827;color:#fff}

/* Notices */
.woocommerce-message{background:#dcfce7;color:#166534;border:none;border-radius:12px;padding:14px 20px;font-size:14px}
.woocommerce-info{background:#dbeafe;color:#1e40af;border:none;border-radius:12px;padding:14px 20px;font-size:14px}
.woocommerce-error{background:#fee2e2;color:#991b1b;border:none;border-radius:12px;padding:14px 20px;font-size:14px}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{color:inherit;text-decoration:underline}

/* Generic WC buttons — dark style like project */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:9999px!important;background:#111827!important;color:#fff!important;border:none!important;padding:12px 28px!important;font-weight:600!important;transition:background .2s!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#1f2937!important}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:#111827!important}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#1f2937!important}

/* ===== QUICK VIEW MODAL ===== */
.quickview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:99999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.quickview-overlay.active{opacity:1;pointer-events:auto}
.quickview-modal{background:#fff;border-radius:20px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;padding:32px;position:relative;transform:scale(.9);transition:transform .3s}
.quickview-overlay.active .quickview-modal{transform:scale(1)}
.quickview-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;background:#f3f4f6;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.quickview-close:hover{background:#fee2e2;color:#ef4444}
.quickview-product{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.quickview-product img{width:100%;border-radius:12px;aspect-ratio:1/1;object-fit:cover}
.quickview-product h2{font-size:22px;margin-bottom:8px;color:#1f2937}
.quickview-product .price{font-size:24px;font-weight:700;color:#ec4899;margin-bottom:12px}
.quickview-product .description{color:#666;margin-bottom:20px;line-height:1.7}
.quickview-product .add_to_cart_button{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;border-radius:9999px;background:#111827;color:#fff;border:none;font-weight:600;cursor:pointer;font-size:15px;transition:background .2s}
.quickview-product .add_to_cart_button:hover{background:#1f2937}
@media(max-width:768px){.quickview-product{grid-template-columns:1fr}}

/* ===== BOTTOM NAV: отступ контента под панелью + safe-area (высота панели см. min-h-16 + py-2 в functions.php) ===== */
.kl-bottom-nav{
    padding-bottom:env(safe-area-inset-bottom,0);
}
@media(max-width:1023px){
    body{
        padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));
    }
}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
    .kl-grid-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
    .kl-grid-4,.kl-grid-3,.kl-grid-2{grid-template-columns:1fr}
}

/* Ordering dropdown style */
.woocommerce-ordering select{border:2px solid #e5e7eb;border-radius:12px;padding:10px 16px;font-size:14px;color:#374151;background:#fff;transition:border-color .2s}
.woocommerce-ordering select:focus{border-color:#111827;outline:none}

/* Empty cart — classic (.kl-cart-empty) + WooCommerce Blocks (.wp-block-woocommerce-empty-cart-block) */

.kl-cart-empty{
	clear:both;
	margin:0 auto 24px;
	width:100%;
	max-width:none;
	box-sizing:border-box;
}

.kl-cart-empty .woocommerce-notices-wrapper:last-child{margin-bottom:0}

.kl-cart-empty .woocommerce-notices-wrapper + .kl-cart-empty__shell{
	margin-top:clamp(14px,2.5vw,22px);
}

.kl-cart-empty__shell{
	box-sizing:border-box;
	width:100%;
	max-width:min(94vw, 52rem);
	margin:0 auto;
	text-align:center;
	padding:clamp(1.85rem,5vw,2.75rem) clamp(1.25rem,4vw,2rem) clamp(2rem,5vw,2.85rem);
	border-radius:24px;
	background:linear-gradient(160deg,#fffdfb 0%,#fdf2f8 46%,#fff 100%);
	border:1px solid rgba(251,207,232,.9);
	box-shadow:
		0 18px 48px -32px rgba(236,72,153,.42),
		0 8px 24px -18px rgba(17,24,39,.06);
	position:relative;
	/* чтобы SVG не обрезались */
	overflow:visible;
}

.kl-cart-empty__shell::before{
	content:"";
	position:absolute;
	inset:-40% -20% auto auto;
	width:clamp(220px,55vw,320px);
	height:clamp(220px,55vw,320px);
	border-radius:50%;
	background:radial-gradient(circle,rgba(252,231,243,.55) 0%,transparent 70%);
	pointer-events:none;
	z-index:0;
}

.kl-cart-empty-sky{
	position:relative!important;
	left:auto!important;
	transform:none!important;
	display:block!important;
	width:100%!important;
	max-width:min(100%, 28rem)!important;
	min-height:clamp(124px, 28vw, 168px)!important;
	margin:0 auto clamp(.75rem,2.5vw,1.35rem)!important;
	pointer-events:none!important;
	line-height:0!important;
	opacity:1!important;
}

.kl-cart-empty-sky__svg{display:block;width:100%;height:auto}
.kl-cart-empty-sky__ribbon,
.kl-cart-empty-sky__ribbon--shade{
	pointer-events:none;
}

.kl-cart-empty-sky__bundle--1{transform-origin:320px 220px}
.kl-cart-empty-sky__bundle--2{transform-origin:226px 220px}
.kl-cart-empty-sky__bundle--3{transform-origin:58px 220px}
.kl-cart-empty-sky__bundle--4{transform-origin:158px 220px}

.kl-cart-empty-sky__bundle--1{animation:klCartFlyA 11s ease-in-out infinite alternate}
.kl-cart-empty-sky__bundle--2{animation:klCartFlyB 12.5s ease-in-out infinite alternate}
.kl-cart-empty-sky__bundle--3{animation:klCartFlyC 13.2s ease-in-out infinite alternate}
.kl-cart-empty-sky__bundle--4{animation:klCartFlyD 10s ease-in-out infinite alternate}

@keyframes klCartFlyA{
	from{transform:translate3d(3px,5px,0) rotate(-1.2deg);}
	to{transform:translate3d(-8px,-12px,0) rotate(1.5deg);}
}
@keyframes klCartFlyB{
	from{transform:translate3d(-5px,3px,0) rotate(.8deg);}
	to{transform:translate3d(6px,-10px,0) rotate(-1.3deg);}
}
@keyframes klCartFlyC{
	from{transform:translate3d(4px,6px,0) rotate(-1deg);}
	to{transform:translate3d(-5px,-14px,0) rotate(.9deg);}
}
@keyframes klCartFlyD{
	from{transform:translate3d(-2px,5px,0) rotate(1deg);}
	to{transform:translate3d(7px,-9px,0) rotate(-1.2deg);}
}

@media (prefers-reduced-motion:reduce){
	.kl-cart-empty-sky__bundle--1,.kl-cart-empty-sky__bundle--2,.kl-cart-empty-sky__bundle--3,.kl-cart-empty-sky__bundle--4{
		animation:none!important;
		transform:none!important;
	}
}

.kl-cart-empty__shell > *:not(.kl-cart-empty-sky){position:relative;z-index:2}

.kl-cart-empty__icon-wrap{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	margin-bottom:1.05rem;
}

.kl-cart-empty__icon-circle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:clamp(84px,22vw,108px);
	height:clamp(84px,22vw,108px);
	border-radius:50%;
	background:#fff;
	border:2px solid #fbcfe8;
	box-shadow:0 10px 28px -16px rgba(236,72,153,.55);
	position:relative;
}

.kl-cart-empty__icon-svg{
	width:clamp(40px,10.8vw,50px);
	height:clamp(40px,10.8vw,50px);
	color:#db2777;
}

.kl-cart-empty__title{
	font-size:clamp(1.35rem,4.2vw,1.82rem)!important;
	font-weight:700!important;
	letter-spacing:-.025em!important;
	color:#111827!important;
	line-height:1.28!important;
	margin:0 0 .6rem!important;
	position:relative;
}

.kl-cart-empty__lead{
	margin:0 auto 1.45rem!important;
	max-width:26rem!important;
	font-size:clamp(1.02rem,2.7vw,1.18rem)!important;
	line-height:1.62!important;
	color:#6b7280!important;
	position:relative;
}

.kl-cart-empty__actions{
	display:flex!important;
	flex-wrap:wrap!important;
	gap:.65rem!important;
	justify-content:center!important;
	align-items:center!important;
	margin:0 0 1rem!important;
	position:relative;
}

.kl-cart-empty__btn{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:49px!important;
	padding:12px 26px!important;
	border-radius:9999px!important;
	font-weight:600!important;
	font-size:clamp(15px, calc(0.5vw + 14px), 17px)!important;
	text-decoration:none!important;
	transition:
		background-color .2s,color .2s,box-shadow .2s,border-color .2s!important;
	cursor:pointer!important;
	box-sizing:border-box!important;
	line-height:1.2!important;
}

.kl-cart-empty__btn--primary{
	border:2px solid #111827!important;
	background:#111827!important;
	color:#fff!important;
	box-shadow:0 12px 32px -20px rgba(17,24,39,.65)!important;
}

.kl-cart-empty__btn--primary:hover{
	background:#372f45!important;
	border-color:#372f45!important;
	box-shadow:0 14px 36px -18px rgba(236,72,153,.42)!important;
}

.kl-cart-empty__btn--outline{
	border:2px solid #e5e7eb!important;
	background:rgba(255,255,255,.85)!important;
	color:#374151!important;
}

.kl-cart-empty__btn--outline:hover{
	border-color:#f9a8d4!important;
	color:#be185d!important;
	background:#fff!important;
}

.kl-cart-empty__hint{
	margin:0!important;
	position:relative;
	font-size:clamp(14px,2.4vw,16px)!important;
	line-height:1.58!important;
	color:#9ca3af!important;
}

.kl-cart-empty__hint .kl-cart-empty__tel{margin-inline-start:.35em!important}

.kl-cart-empty__tel{
	font-weight:600!important;
	color:#db2777!important;
	text-decoration:none!important;
	transition:opacity .15s,color .15s!important;
	border-bottom:1px solid transparent!important;
}

.kl-cart-empty__tel:hover{
	opacity:.92!important;
	border-bottom-color:#f472b6!important;
}

@media(max-width:420px){
	.kl-cart-empty__btn{flex:1 1 100%!important;}
}

/* Стандартную кнопку «Вернитесь» от Woo не показываем — свои CTA выше у .kl-cart-empty */
.woocommerce-cart .return-to-shop{display:none!important;}

/* ---------- Empty cart: Woo Blocks (Страница «Корзина» из редактора) ---------- */
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart{
	box-sizing:border-box;
	width:100%!important;
	max-width:min(94vw, 52rem)!important;
	margin-left:auto!important;
	margin-right:auto!important;
	margin-top:.5rem!important;
	text-align:center!important;
	padding:clamp(1.75rem,5vw,2.65rem) clamp(1.25rem,4vw,1.85rem) clamp(1.85rem,5vw,2.75rem)!important;
	border-radius:24px!important;
	background:linear-gradient(160deg,#fffdfb 0%,#fdf2f8 46%,#fff 100%)!important;
	border:1px solid rgba(251,207,232,.9)!important;
	box-shadow:
		0 18px 48px -32px rgba(236,72,153,.42),
		0 8px 24px -18px rgba(17,24,39,.06)!important;
	position:relative!important;
	overflow:visible!important;
}

.wp-block-woocommerce-empty-cart-block > *:last-child,
.wc-block-cart__empty-cart > *:last-child{margin-bottom:0!important}

.wp-block-woocommerce-empty-cart-block > *:not(.kl-cart-empty-sky),
.wc-block-cart__empty-cart > *:not(.kl-cart-empty-sky){
	position:relative!important;
	z-index:2!important;
}

.wp-block-woocommerce-empty-cart-block .kl-cart-empty-sky,
.wc-block-cart__empty-cart .kl-cart-empty-sky{
	position:relative!important;
	left:auto!important;
	transform:none!important;
	width:100%!important;
	max-width:min(100%,28rem)!important;
	min-height:clamp(124px,28vw,168px)!important;
	margin:0 auto clamp(.75rem,2.5vw,1.35rem)!important;
	pointer-events:none!important;
	z-index:auto!important;
	line-height:0!important;
}

.wp-block-woocommerce-empty-cart-block .kl-cart-empty-sky .kl-cart-empty-sky__svg,
.wc-block-cart__empty-cart .kl-cart-empty-sky .kl-cart-empty-sky__svg{
	display:block!important;
	width:100%!important;
	height:auto!important;
}

.wp-block-woocommerce-empty-cart-block::before,
.wc-block-cart__empty-cart::before{
	content:"";
	position:absolute;
	inset:-40% -20% auto auto;
	width:clamp(220px,55vw,320px);
	height:clamp(220px,55vw,320px);
	border-radius:50%;
	background:radial-gradient(circle,rgba(252,231,243,.55) 0%,transparent 70%);
	pointer-events:none;
	z-index:0;
}

.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title{
	font-size:clamp(1.35rem,4.2vw,1.82rem)!important;
	font-weight:700!important;
	letter-spacing:-.02em!important;
	color:#111827!important;
	line-height:1.28!important;
	margin:.25rem auto .65rem!important;
	position:relative;
	z-index:1;
	max-width:none!important;
}

/*
 * Woo Blocks: заголовок пустой корзины (with-/has-empty-cart-icon) и псевдоэлемент перед текстом («грустный» знак через маску).
 */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.wc-block-cart__empty-cart__title.has-empty-cart-icon::before,
.wc-block-cart__empty-cart__title.is-style-with-empty-cart-icon::before,
.wp-block-heading.with-empty-cart-icon::before,
.wp-block-heading.has-empty-cart-icon::before,
h1.wp-block-heading.with-empty-cart-icon::before,
h2.wp-block-heading.with-empty-cart-icon::before,
.wc-block-cart__empty-cart__title.with-empty-cart-icon::after,
.wc-block-cart__empty-cart__title.has-empty-cart-icon::after{
	display:none!important;
	content:none!important;
	width:0!important;
	height:0!important;
	min-height:0!important;
	min-width:0!important;
	margin:0!important;
	padding:0!important;
	mask-image:none!important;
	-webkit-mask-image:none!important;
	mask:none!important;
	-webkit-mask:none!important;
	opacity:0!important;
	visibility:hidden!important;
}

.wp-block-woocommerce-empty-cart-block p,
.wc-block-cart__empty-cart p{
	font-size:clamp(1.02rem,2.7vw,1.18rem)!important;
	line-height:1.62!important;
	color:#6b7280!important;
	margin:.25rem auto 1rem!important;
	position:relative;
	z-index:1;
	max-width:26rem;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button:not(.outline),
.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button:is(.filled),
.wp-block-woocommerce-empty-cart-block .wp-element-button:is(.filled),
.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button:is(.filled) .wc-block-cart__shopping-button{color:#fff!important}

.wp-block-woocommerce-empty-cart-block .wp-block-buttons,
.wc-block-cart__empty-cart .wp-block-buttons{
	display:flex!important;
	justify-content:center!important;
	flex-wrap:wrap!important;
	gap:.65rem!important;
	margin:.25rem auto 0!important;
	position:relative;
	z-index:1;
}

.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block a.wp-element-button,
.wc-block-cart__empty-cart a.wp-element-button,
.wc-block-cart__shopping-button.wp-element-button,
.wc-block-cart__shopping-button[class*="wc-block-cart__shopping-button"]{
	border-radius:9999px!important;
	font-weight:600!important;
	font-size:clamp(15px, calc(0.5vw + 14px), 17px)!important;
	padding:.77rem 1.55rem!important;
	min-height:49px!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	transition:
		background-color .2s,color .2s,border-color .2s,box-shadow .2s!important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button:is(.filled, .cta),
.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button:is(.cta) span,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:not(.outline){
	background:#111827!important;
	color:#fff!important;
	border-color:#111827!important;
	border-width:2px!important;
	border-style:solid!important;
	box-shadow:0 12px 32px -20px rgba(17,24,39,.65)!important;
	text-decoration:none!important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button:is(.filled, .cta):hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:not(.outline):hover{
	background:#372f45!important;
	border-color:#372f45!important;
	box-shadow:0 14px 36px -18px rgba(236,72,153,.42)!important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button.outline,
.wp-block-woocommerce-empty-cart-block .wp-block-button.is-style-outline > .wp-block-button__link{
	background:rgba(255,255,255,.88)!important;
	color:#374151!important;
	border-color:#e5e7eb!important;
	border-width:2px!important;
	border-style:solid!important;
	box-shadow:none!important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__shopping-button.outline:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button.is-style-outline > .wp-block-button__link:hover{
	border-color:#f9a8d4!important;
	color:#be185d!important;
	background:#fff!important;
}

/* Пустая корзина: подборки — крупнее названия и цены (Blocks + классическая сетка) */
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection .wp-block-product .wp-block-post-title,
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection .wp-block-product .wp-block-post-title a,
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection .wp-block-product h2.wp-block-heading,
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection .wp-block-product h2.wp-block-heading a,
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection li .wp-block-post-title,
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection li .wp-block-post-title a{
	font-size:clamp(1.1rem,2.8vw,1.38rem)!important;
	line-height:1.34!important;
	font-weight:700!important;
}
body:has(.wc-block-cart__empty-cart) ul.wc-block-grid__products .wc-block-components-product-price,
body:has(.wc-block-cart__empty-cart) ul.wc-block-grid__products .wc-block-components-product-price .wc-block-components-product-price__regular,
body:has(.wc-block-cart__empty-cart) ul.wc-block-grid__products .wc-block-grid__product-price,
body:has(.wc-block-cart__empty-cart) .wp-block-product .wc-block-components-product-price,
body:has(.wc-block-cart__empty-cart) .wp-block-product .wc-block-components-product-price *,
body:has(.wc-block-cart__empty-cart) .wp-block-product .woocommerce-Price-amount,
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection .woocommerce-Price-amount,
body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection .woocommerce-Price-amount *{
	font-size:clamp(1.02rem,2.55vw,1.24rem)!important;
	line-height:1.35!important;
	font-weight:700!important;
	color:#111827!important;
}
body:has(.wc-block-cart__empty-cart) ul.wc-block-grid__products .wc-block-grid__product-title,
body:has(.wc-block-cart__empty-cart) ul.wc-block-grid__products .wc-block-components-product-title,
body:has(.wc-block-cart__empty-cart) ul.wc-block-grid__products .wc-block-components-product-title a,
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-header-description,
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-header-title{
	font-size:clamp(1.06rem,2.75vw,1.48rem)!important;
	line-height:1.38!important;
	font-weight:700!important;
}
body.woocommerce-cart:has(.kl-cart-empty) ul.products li.product .woocommerce-loop-product__title{
	font-size:clamp(1.12rem,2.75vw,1.36rem)!important;
	line-height:1.36!important;
	font-weight:700!important;
}
body.woocommerce-cart:has(.kl-cart-empty) ul.products li.product .price,
body.woocommerce-cart:has(.kl-cart-empty) ul.products li.product .price *,
body.woocommerce-cart:has(.kl-cart-empty) ul.products li.product .woocommerce-Price-amount{
	font-size:clamp(1.06rem,2.5vw,1.26rem)!important;
	line-height:1.35!important;
	font-weight:700!important;
}
body:has(.wc-block-cart__empty-cart) [data-type="woocommerce/product-collection"] .wp-block-post-title,
body:has(.wc-block-cart__empty-cart) [data-type="woocommerce/product-collection"] .wp-block-post-title a{
	font-size:clamp(1.1rem,2.8vw,1.38rem)!important;
	line-height:1.34!important;
	font-weight:700!important;
}
body:has(.wc-block-cart__empty-cart) [data-type="woocommerce/product-collection"] .woocommerce-Price-amount,
body:has(.wc-block-cart__empty-cart) [data-type="woocommerce/product-collection"] .woocommerce-Price-amount *{
	font-size:clamp(1.02rem,2.55vw,1.24rem)!important;
	line-height:1.35!important;
	font-weight:700!important;
	color:#111827!important;
}
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products .wp-block-post-title,
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products .wp-block-post-title a{
	font-size:clamp(1.1rem,2.8vw,1.38rem)!important;
	line-height:1.34!important;
	font-weight:700!important;
}
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products .woocommerce-Price-amount,
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products .woocommerce-Price-amount *,
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products .wc-block-components-product-price,
body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products .wc-block-components-product-price *{
	font-size:clamp(1.02rem,2.55vw,1.24rem)!important;
	line-height:1.35!important;
	font-weight:700!important;
	color:#111827!important;
}

/* Пустая корзина — ПК: просторная сетка новинок и кнопки в одну-две строки */
@media (min-width: 900px){
	body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-cart{
		max-width:1280px!important;
		padding-inline:clamp(16px,3vw,36px)!important;
	}
	body:has(.wc-block-cart__empty-cart) .wc-block-cart__empty-cart,
	body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-empty-cart-block{
		max-width:min(96vw,920px)!important;
	}
	body:has(.wc-block-cart__empty-cart) .wc-block-cart__main{
		padding-inline:clamp(20px,3vw,40px)!important;
	}
	body:has(.wc-block-cart__empty-cart) [data-type="woocommerce/product-collection"],
	body:has(.wc-block-cart__empty-cart) .wp-block-woocommerce-product-collection{
		max-width:1220px!important;
		margin-inline:auto!important;
		padding-top:clamp(12px,2.2vw,32px)!important;
	}
	body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products,
	body:has(.wc-block-cart__empty-cart) ul.wc-block-grid__products{
		display:grid!important;
		grid-template-columns:repeat(auto-fit, minmax(210px, 1fr))!important;
		gap:clamp(20px,3vw,38px)!important;
		width:100%!important;
	}
	body:has(.wc-block-cart__empty-cart) .wp-block-button .wp-block-button__link,
	body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products a.wp-element-button,
	body:has(.wc-block-cart__empty-cart) .wc-block-cart__recommended-products button{
		min-width:min(100%,11.5rem)!important;
		min-height:48px!important;
		box-sizing:border-box!important;
		padding-left:clamp(14px,1.8vw,20px)!important;
		padding-right:clamp(14px,1.8vw,20px)!important;
		white-space:normal!important;
		word-break:normal!important;
		display:inline-flex!important;
		align-items:center!important;
		justify-content:center!important;
		line-height:1.28!important;
		text-align:center!important;
	}
	body:has(.wc-block-cart__empty-cart) .wp-block-product .wp-block-buttons,
	body:has(.wc-block-cart__empty-cart) li.wc-block-grid__product .wp-block-buttons{
		width:100%!important;
		max-width:100%!important;
	}
	body.woocommerce-cart .kl-cart-empty__shell{
		max-width:min(94vw,920px);
	}
}

/* Related products */
.woocommerce div.product .related.products{margin-top:48px;border-top:1px solid #f3f4f6;padding-top:48px}
.woocommerce div.product .related.products h2{font-size:24px;font-weight:700;color:#111827;margin-bottom:24px}

/* Sale badge on single product */
.woocommerce div.product span.onsale{background:#ef4444!important;color:#fff!important;border-radius:9999px!important;padding:6px 16px!important;font-size:12px!important;font-weight:600!important;min-height:auto!important;line-height:1.5!important}

/* ============================================
   FORM FIELDS — RESTORATION
   Tailwind preflight (project.css) wipes out
   input/select/textarea defaults. Restore them
   inside WP/WC/comments/search scopes so that
   fields look like fields, not plain text.
   ============================================ */

/* Text-like inputs + textarea + select */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="password"],
.woocommerce input[type="search"],
.woocommerce input[type="url"],
.woocommerce input[type="date"],
.woocommerce input[type="month"],
.woocommerce input[type="time"],
.woocommerce input[type="datetime-local"],
.woocommerce textarea,
.woocommerce select,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="number"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="search"],
.woocommerce-page input[type="url"],
.woocommerce-page input[type="date"],
.woocommerce-page textarea,
.woocommerce-page select,
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="tel"],
body.woocommerce-account input[type="password"],
body.woocommerce-account textarea,
body.woocommerce-account select,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
.search-form input[type="search"],
.post-password-form input[type="password"],
.widget_search input[type="search"],
form.woocommerce-shipping-calculator input,
form.woocommerce-shipping-calculator select,
form.track_order input,
form.lost_reset_password input[type="text"],
form.lost_reset_password input[type="email"],
form.lost_reset_password input[type="password"],
form.checkout_coupon input,
.woocommerce-error input,
.kl-contact-form input[type="text"],
.kl-contact-form input[type="tel"],
.kl-contact-form input[type="email"],
.kl-contact-form textarea{
    display:block;
    width:100%;
    padding:12px 16px;
    border:2px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    color:#111827;
    font-size:15px;
    line-height:1.4;
    transition:border-color .2s, box-shadow .2s;
    -webkit-appearance:none;
    appearance:none;
    box-sizing:border-box;
}

/* Focus */
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="search"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.woocommerce-page input:focus,
.woocommerce-page textarea:focus,
.woocommerce-page select:focus,
.comment-form input:focus,
.comment-form textarea:focus,
.search-form input:focus,
form.checkout_coupon input:focus,
.kl-contact-form input:focus,
.kl-contact-form textarea:focus{
    border-color:#ec4899;
    outline:none;
    box-shadow:0 0 0 3px rgba(236,72,153,.15);
}

/* Native select caret (Tailwind kills default appearance) */
.woocommerce select,
.woocommerce-page select,
form.woocommerce-shipping-calculator select{
    background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:12px 8px;
    padding-right:40px;
}

/* Textarea sizing */
.woocommerce textarea,
.woocommerce-page textarea,
.comment-form textarea,
.kl-contact-form textarea{
    min-height:110px;
    resize:vertical;
    line-height:1.6;
}

/* Labels & required markers */
.woocommerce form .form-row,
.woocommerce-page form .form-row{
    display:block;
    margin:0 0 16px;
    padding:0;
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label{
    display:block;
    margin-bottom:6px;
    font-size:14px;
    font-weight:500;
    color:#374151;
}
.woocommerce form .form-row .required,
.woocommerce-page form .form-row .required{
    color:#ef4444;
    margin-left:2px;
    text-decoration:none;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{
    border-color:#ef4444;
}
.woocommerce form .form-row.woocommerce-validated input.input-text{
    border-color:#10b981;
}

/* Two-column billing / shipping on desktop */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last{ float:none; width:100%; }
@media(min-width:768px){
    .woocommerce form .form-row-first,
    .woocommerce-page form .form-row-first{ float:left; width:48%; margin-right:4%; }
    .woocommerce form .form-row-last,
    .woocommerce-page form .form-row-last{ float:right; width:48%; }
    .woocommerce form .form-row-wide,
    .woocommerce-page form .form-row-wide{ clear:both; }
}

/* Quantity on single product / cart page */
.woocommerce .quantity,
.woocommerce-page .quantity{ display:inline-flex; align-items:center; }
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty{
    width:72px;
    padding:10px 12px;
    border:2px solid #e5e7eb;
    border-radius:12px;
    text-align:center;
    background:#fff;
    font-size:15px;
    font-weight:600;
    color:#111827;
    -moz-appearance:textfield;
}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }

/* Coupon (cart & checkout) */
.woocommerce-cart .coupon,
.woocommerce form.checkout_coupon{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center;
    padding:16px;
    border:1px solid #f3f4f6;
    border-radius:12px;
    background:#f9fafb;
    margin-bottom:16px;
}
.woocommerce-cart .coupon input[name="coupon_code"],
.woocommerce form.checkout_coupon input[name="coupon_code"]{
    flex:1 1 200px;
    min-width:180px;
}

/* Checkout "have a coupon?" & login toggle */
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle,
.woocommerce form.checkout_coupon,
.woocommerce form.login{ margin-bottom:20px; }

/* Shipping calculator */
.woocommerce-shipping-calculator{ margin-top:12px; }
.woocommerce-shipping-calculator .shipping-calculator-form{
    display:grid;
    gap:12px;
    padding:16px;
    border:1px solid #f3f4f6;
    border-radius:12px;
    background:#f9fafb;
    margin-top:8px;
}

/* Password strength meter */
.woocommerce-password-strength{
    margin-top:6px;
    padding:6px 12px;
    font-size:12px;
    border-radius:8px;
    border:1px solid transparent;
}
.woocommerce-password-strength.strong{ background:#dcfce7; color:#166534; border-color:#86efac; }
.woocommerce-password-strength.good{   background:#dbeafe; color:#1e40af; border-color:#93c5fd; }
.woocommerce-password-strength.short,
.woocommerce-password-strength.bad{    background:#fee2e2; color:#991b1b; border-color:#fca5a5; }
.woocommerce-password-hint{ font-size:12px; color:#6b7280; margin-top:4px; display:block; }

/* Checkboxes & radios (Tailwind strips appearance) */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"],
.woocommerce-page input[type="checkbox"],
.woocommerce-page input[type="radio"],
.comment-form input[type="checkbox"],
.comment-form input[type="radio"]{
    -webkit-appearance:auto;
    appearance:auto;
    width:18px;
    height:18px;
    accent-color:#ec4899;
    vertical-align:middle;
    margin-right:8px;
    cursor:pointer;
}
.woocommerce .form-row-checkbox label,
.woocommerce .woocommerce-form__label-checkbox,
.woocommerce-terms-and-conditions-wrapper label{
    display:flex;
    align-items:flex-start;
    gap:8px;
    font-size:14px;
    cursor:pointer;
}

/* Select2 (country/state dropdowns) */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{
    height:auto!important;
    min-height:48px;
    padding:8px 12px;
    border:2px solid #e5e7eb!important;
    border-radius:12px!important;
    background:#fff;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    padding:0 24px 0 4px;
    line-height:30px;
    color:#111827;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    height:100%;
    right:12px;
}
.select2-container--default.select2-container--focus .select2-selection,
.select2-container--default.select2-container--open .select2-selection{
    border-color:#ec4899!important;
    box-shadow:0 0 0 3px rgba(236,72,153,.15);
}
.select2-dropdown{
    border:2px solid #e5e7eb!important;
    border-radius:12px!important;
    overflow:hidden;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
    background:#ec4899!important;
}

/* My Account forms (edit address / edit account / lost password) */
.woocommerce-MyAccount-content form fieldset{
    margin:24px 0;
    padding:20px;
    border:1px solid #f3f4f6;
    border-radius:12px;
}
.woocommerce-MyAccount-content form fieldset legend{
    font-weight:600;
    font-size:16px;
    color:#111827;
    padding:0 8px;
}
.woocommerce-MyAccount-content .woocommerce-Address{
    border:1px solid #f3f4f6;
    border-radius:16px;
    padding:24px;
    margin-bottom:16px;
    background:#fff;
}
.woocommerce-MyAccount-content .woocommerce-Address-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    flex-wrap:wrap;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h3{ margin:0; font-size:18px; font-weight:700; color:#111827; }

/* ===== MY ACCOUNT LAYOUT (replaces inline styles from page.php) ===== */
.kl-account-grid{
    display:grid;
    grid-template-columns:240px minmax(0,1fr);
    gap:24px;
    align-items:start;
    width:100%;
}
@media(max-width:767px){
    .kl-account-grid{ grid-template-columns:minmax(0,1fr); gap:16px; }
}

/* Neutralize WooCommerce legacy float/width sitting on My Account nav/content */
.kl-account-grid > .woocommerce-MyAccount-navigation,
.kl-account-grid > .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
    float:none!important;
    width:100%!important;
    max-width:100%!important;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:14px;
    min-width:0;
    box-sizing:border-box;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
    list-style:none!important;
    padding:0!important;
    margin:0!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{
    list-style:none;
    margin:0;
    padding:0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li + li{ margin-top:2px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
    display:block;
    padding:10px 16px;
    border-radius:10px;
    color:#6b7280;
    font-size:15px;
    font-weight:500;
    text-decoration:none;
    transition:all .2s;
    background:transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
    background:#f3f4f6;
    color:#111827;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active > a:hover{
    background:#111827;
    color:#fff;
}

.woocommerce-account .woocommerce-MyAccount-content{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:24px;
    min-width:0;
    box-sizing:border-box;
}
@media(min-width:640px){
    .woocommerce-account .woocommerce-MyAccount-content{ padding:28px 32px; }
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child{ margin-top:0; }

/* Addresses two-column layout — override WC legacy floats */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
.woocommerce-account .woocommerce-MyAccount-content .u-columns.col2-set,
.woocommerce-account .woocommerce-MyAccount-content .col2-set{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin:16px 0 0!important;
    width:100%!important;
    float:none!important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after,
.woocommerce-account .woocommerce-MyAccount-content .col2-set::before,
.woocommerce-account .woocommerce-MyAccount-content .col2-set::after{
    display:none!important;
    content:none!important;
}
@media(max-width:640px){
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
    .woocommerce-account .woocommerce-MyAccount-content .u-columns.col2-set,
    .woocommerce-account .woocommerce-MyAccount-content .col2-set{
        grid-template-columns:1fr;
    }
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-MyAccount-content .col2-set .col-1,
.woocommerce-account .woocommerce-MyAccount-content .col2-set .col-2,
.woocommerce-account .woocommerce-MyAccount-content .u-column1,
.woocommerce-account .woocommerce-MyAccount-content .u-column2{
    width:100%!important;
    max-width:100%!important;
    float:none!important;
    margin:0!important;
    padding:20px 22px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    box-sizing:border-box;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address{
    font-style:normal;
    line-height:1.7;
    color:#4b5563;
    font-size:14px;
    margin:0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
.woocommerce-account .woocommerce-MyAccount-content header.woocommerce-Address-title{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 14px!important;
    flex-wrap:wrap;
    width:100%!important;
    float:none!important;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title > h3{
    margin:0!important;
    padding:0!important;
    float:none!important;
    width:auto!important;
    font-size:18px;
    font-weight:700;
    color:#111827;
    text-align:left;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit{
    float:none!important;
    margin:0!important;
}

/* Edit-address / other inline "link-as-button" actions -> small ghost button */
.woocommerce-MyAccount-content a.edit,
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
.woocommerce-MyAccount-content a.woocommerce-Address-title-edit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 14px;
    border-radius:9999px;
    border:1.5px solid #111827;
    background:#fff;
    color:#111827!important;
    font-size:13px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none!important;
    white-space:nowrap;
    transition:all .2s;
}
.woocommerce-MyAccount-content a.edit:hover,
.woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover{
    background:#111827;
    color:#fff!important;
}

/* Orders table action buttons (View / Pay / Cancel) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions a.button,
.woocommerce-account .woocommerce-MyAccount-content td.woocommerce-orders-table__cell-order-actions a{
    display:inline-block;
    margin:2px 4px 2px 0;
    padding:6px 14px!important;
    border-radius:9999px!important;
    font-size:13px!important;
    font-weight:600!important;
}

/* Search form (searchform.php) */
.kl-search-form{ position:relative; max-width:560px; margin:0 auto; }
.kl-search-form input[type="search"]{ padding-left:48px; padding-right:120px; }
.kl-search-form .kl-search-icon{
    position:absolute; left:16px; top:50%; transform:translateY(-50%);
    color:#9ca3af; pointer-events:none; display:flex;
}
.kl-search-form button[type="submit"]{
    position:absolute; right:6px; top:50%; transform:translateY(-50%);
    border-radius:9999px; background:#111827; color:#fff;
    padding:8px 18px; font-size:14px; font-weight:600;
    border:none; cursor:pointer; transition:background .2s;
}
.kl-search-form button[type="submit"]:hover{ background:#1f2937; }

/* Каталог (архив магазина): поле поиска — отдельно от глобального padding WC, иначе иконка наезжает на текст */
.kl-catalog-search-wrap{
    margin:0 0 1.5rem;
}
.kl-catalog-search-wrap .kl-catalog-search{
    margin:0;
    max-width:none;
}
.kl-catalog-search{
    position:relative;
    width:100%;
    max-width:36rem;
    margin:0 0 1.5rem;
}
.kl-catalog-search__icon{
    position:absolute;
    left:1.125rem;
    top:50%;
    transform:translateY(-50%);
    width:1.25rem;
    height:1.25rem;
    color:#9ca3af;
    pointer-events:none;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:1;
    transition:color .2s ease;
}
.kl-catalog-search__icon svg{
    width:100%;
    height:100%;
}
.kl-catalog-search:focus-within .kl-catalog-search__icon{ color:#ec4899; }
.woocommerce .kl-catalog-search input[type="search"],
.woocommerce-page .kl-catalog-search input[type="search"]{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0.875rem 1.25rem 0.875rem 3.25rem!important;
    border:1.5px solid #e5e7eb!important;
    border-radius:9999px!important;
    background:#fff!important;
    color:#111827!important;
    font-size:1rem!important;
    line-height:1.45!important;
    box-shadow:0 4px 22px -10px rgba(236,72,153,.2), 0 1px 3px rgba(17,24,39,.06)!important;
    transition:border-color .2s ease, box-shadow .25s ease, background-color .2s ease!important;
    box-sizing:border-box!important;
    -webkit-appearance:none!important;
    appearance:none!important;
}
.woocommerce .kl-catalog-search input[type="search"]::placeholder,
.woocommerce-page .kl-catalog-search input[type="search"]::placeholder{
    color:#9ca3af!important;
    opacity:1!important;
}
.woocommerce .kl-catalog-search input[type="search"]:hover,
.woocommerce-page .kl-catalog-search input[type="search"]:hover{
    border-color:#fbcfe8!important;
    box-shadow:0 8px 28px -12px rgba(236,72,153,.22), 0 2px 8px rgba(17,24,39,.05)!important;
}
.woocommerce .kl-catalog-search input[type="search"]:focus,
.woocommerce-page .kl-catalog-search input[type="search"]:focus{
    border-color:#ec4899!important;
    outline:none!important;
    box-shadow:0 0 0 4px rgba(236,72,153,.14), 0 10px 32px -14px rgba(236,72,153,.25)!important;
    background:#fff!important;
}

/* Comments */
.comments-area{ margin-top:48px; }
.comments-area .comments-title,
.comments-area .comment-reply-title{
    font-size:22px; font-weight:700; color:#111827;
    margin:0 0 20px;
}
.comment-list{ list-style:none; padding:0; margin:0 0 32px; }
.comment-list .comment{
    padding:20px; border:1px solid #f3f4f6; border-radius:16px;
    margin-bottom:12px; background:#fff;
}
.comment-list .comment .comment-author{
    display:flex; align-items:center; gap:10px; margin-bottom:8px;
}
.comment-list .comment .comment-author img{ border-radius:50%; }
.comment-list .comment .comment-author .fn{ font-weight:600; color:#111827; }
.comment-list .comment .comment-meta{ font-size:13px; color:#6b7280; margin-bottom:8px; }
.comment-list .comment .comment-meta a{ color:#6b7280; }
.comment-list .comment .reply a{
    display:inline-block; font-size:13px; color:#ec4899;
    margin-top:6px; font-weight:500;
}
.comment-list .children{ list-style:none; padding-left:24px; margin-top:12px; }
.comment-form{
    display:block; max-width:640px; padding:24px;
    border:1px solid #f3f4f6; border-radius:16px; background:#fff;
}
.comment-form > p{ margin:0 0 12px; }
.comment-form .comment-form-cookies-consent{
    display:flex; align-items:center; gap:8px;
}
.comment-form label{
    display:block; margin-bottom:6px;
    font-size:14px; font-weight:500; color:#374151;
}
.comment-form .form-submit{ margin-top:8px; }
.comment-form input[type="submit"]{
    border-radius:9999px; background:#111827; color:#fff;
    padding:12px 32px; font-size:15px; font-weight:600;
    border:none; cursor:pointer; transition:background .2s;
}
.comment-form input[type="submit"]:hover{ background:#1f2937; }
.comment-reply-title small{ margin-left:8px; font-size:13px; font-weight:400; }
.comment-reply-title small a{ color:#ec4899; }

/* WC block-based checkout / cart (Gutenberg blocks) */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea{
    border:2px solid #e5e7eb!important;
    border-radius:12px!important;
    padding:12px 16px!important;
    background:#fff!important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus{
    border-color:#ec4899!important;
    box-shadow:0 0 0 3px rgba(236,72,153,.15)!important;
    outline:none!important;
}

/* Placeholder */
.woocommerce input::placeholder,
.woocommerce textarea::placeholder,
.woocommerce-page input::placeholder,
.woocommerce-page textarea::placeholder,
.comment-form input::placeholder,
.comment-form textarea::placeholder,
.search-form input::placeholder{
    color:#9ca3af;
    opacity:1;
}

/* Disabled */
.woocommerce input:disabled,
.woocommerce select:disabled,
.woocommerce textarea:disabled{
    background:#f9fafb;
    color:#9ca3af;
    cursor:not-allowed;
}

/* ============================================
   BUTTON SYSTEM
   One visual language for every button/submit/
   CTA across WP core, Gutenberg, classic WC and
   WC Blocks (new cart/checkout). Tailwind pre-
   flight turns every <button> transparent, so
   these rules are scoped by CLASS (not by
   .woocommerce ancestor) to catch block-based
   cart where body has no .woocommerce class.
   ============================================ */

/* --- 1. PRIMARY (dark pill, default look) --- */
a.button,
button.button,
input.button,
input[type="submit"].button,
.woocommerce-button,
.wp-block-button__link,
.wp-element-button,
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-proceed-to-checkout a,
.wc-proceed-to-checkout button,
.wc-block-cart__submit-container a,
.wc-block-cart__submit-container button,
button.single_add_to_cart_button,
#place_order,
#respond input#submit,
.comment-form input[type="submit"],
.post-password-form input[type="submit"],
.wp-block-search__button,
.kl-btn{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 28px;
    border:none;
    border-radius:9999px !important;
    background:#111827 !important;
    color:#fff !important;
    font-size:15px;
    font-weight:600;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    transition:background .2s, transform .1s, box-shadow .2s;
    box-shadow:0 1px 2px rgba(17,24,39,.05);
    -webkit-appearance:none;
    appearance:none;
}

a.button:hover,
button.button:hover,
input.button:hover,
.woocommerce-button:hover,
.wp-block-button__link:hover,
.wp-element-button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-proceed-to-checkout a:hover,
.wc-proceed-to-checkout button:hover,
.wc-block-cart__submit-container a:hover,
.wc-block-cart__submit-container button:hover,
button.single_add_to_cart_button:hover,
#place_order:hover,
#respond input#submit:hover,
.comment-form input[type="submit"]:hover,
.post-password-form input[type="submit"]:hover,
.wp-block-search__button:hover,
.kl-btn:hover{
    background:#1f2937 !important;
    color:#fff !important;
    box-shadow:0 4px 12px rgba(17,24,39,.12);
}

a.button:active,
button.button:active,
input.button:active,
.wp-block-button__link:active,
.wp-element-button:active,
.wc-block-components-button:active,
button.single_add_to_cart_button:active,
#place_order:active,
.kl-btn:active{
    transform:translateY(1px);
}

button:disabled,
.button:disabled,
.wp-element-button:disabled,
.wc-block-components-button:disabled,
.wc-block-cart__submit-button:disabled,
#place_order:disabled,
.kl-btn:disabled,
.kl-btn[aria-disabled="true"]{
    opacity:.5 !important;
    cursor:not-allowed;
    box-shadow:none !important;
}

/* Inner <span class="wc-block-components-button__text"> must inherit color */
.wc-block-components-button > *,
.wc-block-components-button__text{ color:inherit !important; }

/* Loader inside WC blocks button */
.wc-block-components-button .wc-block-components-spinner{ color:inherit; }

/* --- 2. PRIMARY XL (hero/checkout CTAs: block full-width) --- */
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-cart__submit-button,
.woocommerce-checkout #payment .place-order .button,
#place_order,
.wc-block-components-checkout-place-order-button,
button.single_add_to_cart_button{
    display:block !important;
    width:100%;
    padding:16px 32px !important;
    font-size:16px !important;
}

/* --- 3. GHOST / OUTLINE (secondary actions) --- */
a.button.wc-backward,
a.button.wc-backward:link,
.woocommerce-cart .actions .button[name="update_cart"],
.woocommerce-cart .actions button[name="update_cart"],
.woocommerce-cart .return-to-shop .button,
.woocommerce .return-to-shop .button,
a.added_to_cart,
.wc-block-components-totals-coupon__button,
button.button.ghost,
.kl-btn--ghost,
.kl-btn.ghost{
    background:#fff !important;
    color:#111827 !important;
    border:2px solid #e5e7eb !important;
    padding:10px 22px !important;
    box-shadow:none !important;
}
a.button.wc-backward:hover,
.woocommerce-cart .actions .button[name="update_cart"]:hover,
.woocommerce-cart .actions button[name="update_cart"]:hover,
.woocommerce-cart .return-to-shop .button:hover,
.woocommerce .return-to-shop .button:hover,
a.added_to_cart:hover,
.wc-block-components-totals-coupon__button:hover,
button.button.ghost:hover,
.kl-btn--ghost:hover,
.kl-btn.ghost:hover{
    border-color:#111827 !important;
    background:#fff !important;
    color:#111827 !important;
}

/* --- 4. SMALL (product card / list actions) --- */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart,
.kl-btn--sm,
.kl-btn.sm{
    padding:8px 18px !important;
    font-size:14px !important;
    font-weight:500 !important;
}

/* AJAX "view cart" link under card */
.woocommerce ul.products li.product .added_to_cart{
    display:inline-flex !important;
    margin-top:8px;
    border:1px solid #fce7f3 !important;
    background:#fdf2f8 !important;
    color:#ec4899 !important;
}
.woocommerce ul.products li.product .added_to_cart:hover{
    background:#fce7f3 !important;
    color:#db2777 !important;
    border-color:#fbcfe8 !important;
}

/* --- 5. "Link-look" buttons inside WC Blocks (edit/remove/change) --- */
.wc-block-components-button.wc-block-components-button--link,
.wc-block-components-button.is-link,
.wc-block-cart-item__remove-link,
.wc-block-components-product-name{
    background:transparent !important;
    color:#6b7280 !important;
    padding:0 !important;
    border:none !important;
    box-shadow:none !important;
    font-weight:500 !important;
    text-decoration:underline;
}
.wc-block-components-button.wc-block-components-button--link:hover,
.wc-block-components-button.is-link:hover,
.wc-block-cart-item__remove-link:hover{
    color:#ec4899 !important;
    background:transparent !important;
}

/* --- 6. PAGINATION (archive, search, blog) --- */
.navigation.pagination,
.navigation.posts-pagination,
nav.pagination,
.nav-links{
    display:flex !important;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:40px;
}
.navigation .page-numbers,
.nav-links .page-numbers,
.navigation a.page-numbers,
.navigation span.page-numbers{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 14px;
    border-radius:9999px !important;
    border:1px solid #e5e7eb;
    background:#fff;
    color:#374151;
    font-size:14px;
    font-weight:500;
    text-decoration:none;
    transition:all .2s;
}
.navigation a.page-numbers:hover,
.nav-links a.page-numbers:hover{
    border-color:#111827;
    color:#111827;
}
.navigation .page-numbers.current,
.nav-links .page-numbers.current,
.navigation span.page-numbers.current{
    background:#111827 !important;
    color:#fff !important;
    border-color:#111827 !important;
}
.navigation .page-numbers.dots,
.nav-links .page-numbers.dots{
    border-color:transparent;
    background:transparent;
}

/* --- 7. VARIABLE product: reset / clear link --- */
.woocommerce div.product .reset_variations{
    display:inline-block;
    margin-top:8px;
    font-size:13px;
    color:#6b7280;
    text-decoration:underline;
}
.woocommerce div.product .reset_variations:hover{
    color:#ec4899;
}

/* --- 8. WC Blocks coupon apply button — small primary --- */
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button{
    background:#111827 !important;
    color:#fff !important;
    border:none !important;
    padding:10px 18px !important;
    font-size:14px !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover{
    background:#1f2937 !important;
}

/* --- 9. Generic reset for <button> inside WC scopes (Tailwind makes them transparent) --- */
.woocommerce button:not([class]),
.woocommerce-page button:not([class]){
    padding:10px 20px;
    border-radius:9999px;
    background:#111827;
    color:#fff;
    border:none;
    cursor:pointer;
    font-weight:600;
}
.woocommerce button:not([class]):hover,
.woocommerce-page button:not([class]):hover{
    background:#1f2937;
}

/* --- 10. WP admin-bar edit link inside post --- */
.post-edit-link{
    display:inline-block;
    margin-top:16px;
    font-size:13px;
    color:#6b7280;
    text-decoration:underline;
}
.post-edit-link:hover{ color:#ec4899; }

/* ===== BLOG SINGLE POST — LAYOUT ===== */
.kl-post-wrap{
    max-width:960px;
    margin-left:auto;
    margin-right:auto;
    width:100%;
}
.kl-truncate{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    min-width:0;
}

/* Hero */
.kl-post-hero{
    position:relative;
    overflow:hidden;
    background:transparent;
}
.kl-post-hero-deco{
    position:absolute;
    inset:0;
    background:
        radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255,255,255,.6), transparent 70%),
        radial-gradient(ellipse 50% 60% at 100% 100%, rgba(244,114,182,.08), transparent 70%);
    pointer-events:none;
}
.kl-post-hero-inner{
    position:relative;
    padding:56px 16px 80px;
}
@media(min-width:640px){ .kl-post-hero-inner{ padding:72px 24px 96px; } }
@media(min-width:1024px){ .kl-post-hero-inner{ padding:88px 48px 120px; } }
.kl-post-hero-content{
    text-align:center;
}

.kl-post-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 14px;
    border-radius:9999px;
    background:#fff;
    color:#db2777;
    font-size:13px;
    font-weight:600;
    box-shadow:0 4px 14px rgba(236,72,153,.18);
    text-decoration:none;
    margin-bottom:20px;
    transition:transform .2s, box-shadow .2s;
}
.kl-post-badge:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(236,72,153,.25); }
.kl-post-badge-dot{
    width:6px; height:6px; border-radius:50%; background:#ec4899;
}

.kl-post-title{
    font-size:clamp(28px, 5vw, 48px);
    font-weight:800;
    line-height:1.15;
    letter-spacing:-0.02em;
    color:#111827;
    margin:0 0 18px;
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}
.kl-post-excerpt{
    font-size:clamp(15px, 1.6vw, 18px);
    color:#4b5563;
    line-height:1.65;
    max-width:640px;
    margin:0 auto 28px;
}

/* Meta — not a stuck-together list, but airy badges with dividers */
.kl-post-meta{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:10px 20px;
    font-size:14px;
    color:#6b7280;
}
.kl-post-meta-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
    line-height:1;
    position:relative;
}
.kl-post-meta-item + .kl-post-meta-item::before{
    content:"";
    position:absolute;
    left:-12px; top:50%;
    width:3px; height:3px; border-radius:50%;
    background:#d1d5db;
    transform:translateY(-50%);
}
.kl-post-meta-icon{
    width:15px; height:15px;
    flex-shrink:0;
    color:#ec4899;
}
.kl-post-meta-avatar{
    width:26px; height:26px;
    border-radius:50%;
    background:linear-gradient(135deg,#f472b6,#fb7185);
    color:#fff;
    font-weight:700;
    font-size:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.kl-post-meta-link{
    color:#374151;
    text-decoration:none;
    font-weight:500;
    transition:color .2s;
}
.kl-post-meta-link:hover{ color:#db2777; }
@media(max-width:480px){
    .kl-post-meta{ gap:8px 14px; font-size:13px; }
    .kl-post-meta-item + .kl-post-meta-item::before{ left:-9px; }
}

/* Content body section */
.kl-post-body{
    padding:40px 16px 64px;
}
@media(min-width:640px){ .kl-post-body{ padding:48px 24px 80px; } }
@media(min-width:1024px){ .kl-post-body{ padding:56px 48px 96px; } }

/* Featured image overlapping hero */
.kl-post-thumb{
    margin:-96px 0 32px;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 20px 50px rgba(236,72,153,.15), 0 0 0 1px rgba(0,0,0,.04);
    background:#fff;
    position:relative;
    z-index:2;
}
@media(max-width:639px){ .kl-post-thumb{ margin-top:-56px; } }
.kl-post-thumb-img,
.kl-post-thumb img{
    display:block;
    width:100%;
    height:auto;
    max-height:520px;
    object-fit:cover;
}

/* Main post card */
.kl-post.kl-post{
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:24px;
    padding:32px 24px;
    box-shadow:0 4px 24px rgba(0,0,0,.04);
}
@media(min-width:640px){ .kl-post.kl-post{ padding:48px 40px; } }
@media(min-width:1024px){ .kl-post.kl-post{ padding:64px 64px; } }

/* Pagination inside post (wp_link_pages) */
.kl-post-pages{
    display:flex; flex-wrap:wrap; gap:8px;
    margin-top:32px;
}
.kl-post-pages span,
.kl-post-pages a span{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:36px; height:36px; padding:0 12px;
    border-radius:9999px; border:1px solid #e5e7eb;
    font-size:14px; font-weight:600; color:#374151;
    transition:all .2s;
}
.kl-post-pages a:hover span{ border-color:#111827; color:#111827; }

/* Tags */
.kl-post-tags{
    margin-top:40px;
    padding-top:24px;
    border-top:1px solid #f3f4f6;
    display:flex; flex-wrap:wrap; align-items:center; gap:8px;
}
.kl-post-tags-label{
    font-size:13px; font-weight:700;
    text-transform:uppercase; letter-spacing:.05em;
    color:#9ca3af;
    margin-right:4px;
}
.kl-post-tag{
    display:inline-flex; align-items:center;
    padding:5px 12px;
    border-radius:9999px;
    background:#fdf2f8;
    color:#be185d;
    font-size:13px; font-weight:500;
    text-decoration:none;
    transition:all .2s;
}
.kl-post-tag:hover{ background:#fce7f3; color:#9f1239; }

/* Share row */
.kl-post-share{
    margin-top:24px;
    display:flex; flex-wrap:wrap; align-items:center; gap:10px;
}
.kl-post-share-label{
    font-size:13px; font-weight:700;
    text-transform:uppercase; letter-spacing:.05em;
    color:#9ca3af;
    margin-right:4px;
}
.kl-share-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px;
    border-radius:9999px;
    background:#f3f4f6;
    color:#4b5563;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:all .2s;
}
.kl-share-btn svg{ width:17px; height:17px; display:block; }
.kl-share-btn:hover{ background:#ec4899; color:#fff; transform:translateY(-1px); }
.kl-share-btn--copy{
    width:auto; padding:0 14px; gap:8px; font-size:13px; font-weight:500;
    color:#374151;
}
.kl-share-btn--copy:hover{ background:#111827; color:#fff; }
.kl-share-btn--copy svg{ width:15px; height:15px; }

/* Author block */
.kl-post-author{
    margin-top:40px;
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:24px;
    padding:24px;
    display:flex; flex-wrap:wrap; gap:20px;
    box-shadow:0 4px 24px rgba(0,0,0,.04);
}
@media(min-width:640px){ .kl-post-author{ padding:32px; } }
.kl-post-author-avatar{
    width:72px; height:72px;
    border-radius:50%;
    background:linear-gradient(135deg,#f472b6,#fb7185);
    color:#fff;
    font-weight:700;
    font-size:28px;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
}
.kl-post-author-body{ flex:1; min-width:200px; }
.kl-post-author-label{
    margin:0 0 4px;
    font-size:11px; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase;
    color:#9ca3af;
}
.kl-post-author-name{
    margin:0 0 8px;
    font-size:18px; font-weight:700; color:#111827;
}
.kl-post-author-name a{ color:inherit; text-decoration:none; }
.kl-post-author-name a:hover{ color:#ec4899; }
.kl-post-author-bio{
    margin:0;
    font-size:14px; line-height:1.65; color:#6b7280;
}

/* Prev/Next */
.kl-post-nav{
    margin-top:40px;
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
}
@media(min-width:640px){ .kl-post-nav{ grid-template-columns:1fr 1fr; } }
.kl-post-nav-card{
    display:block;
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:20px;
    padding:20px 22px;
    text-decoration:none;
    transition:all .2s;
}
.kl-post-nav-card:hover{
    border-color:#fbcfe8;
    box-shadow:0 10px 30px rgba(236,72,153,.12);
    transform:translateY(-2px);
}
.kl-post-nav-next{ text-align:right; }
.kl-post-nav-label{
    display:inline-flex; align-items:center; gap:6px;
    font-size:11px; font-weight:700;
    text-transform:uppercase; letter-spacing:.06em;
    color:#9ca3af;
}
.kl-post-nav-label svg{ width:14px; height:14px; }
.kl-post-nav-card:hover .kl-post-nav-label{ color:#ec4899; }
.kl-post-nav-title{
    display:block;
    margin-top:8px;
    font-size:16px; font-weight:700; color:#111827;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
}
.kl-post-nav-card:hover .kl-post-nav-title{ color:#db2777; }

/* Related */
.kl-related{ margin-top:56px; }
.kl-related-head{
    display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
    gap:12px; margin-bottom:20px;
}
.kl-related-title{
    margin:0;
    font-size:clamp(22px, 3vw, 28px);
    font-weight:800; color:#111827;
    letter-spacing:-0.01em;
}
.kl-related-more{
    display:inline-flex; align-items:center; gap:6px;
    font-size:14px; font-weight:600; color:#6b7280;
    text-decoration:none;
    transition:color .2s;
}
.kl-related-more svg{ width:15px; height:15px; }
.kl-related-more:hover{ color:#db2777; }
.kl-related-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
}
@media(min-width:640px){ .kl-related-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px){ .kl-related-grid{ grid-template-columns:repeat(3,1fr); } }
.kl-related-card{
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:18px;
    overflow:hidden;
    text-decoration:none;
    display:flex; flex-direction:column;
    transition:all .25s;
}
.kl-related-card:hover{
    border-color:#fbcfe8;
    box-shadow:0 14px 36px rgba(236,72,153,.15);
    transform:translateY(-3px);
}
.kl-related-img{
    position:relative;
    width:100%;
    padding-top:62.5%;
    background:linear-gradient(135deg,#fdf2f8,#fce7f3);
    overflow:hidden;
}
@media (max-width:639px){
    .kl-related-img{ padding-top:75%; }
}
.kl-related-img img{
    position:absolute;
    inset:0;
    width:100%; height:100%;
    object-fit:cover;
    transition:transform .5s;
}
.kl-related-card:hover .kl-related-img img{ transform:scale(1.06); }
.kl-related-img-fallback{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    color:#f9a8d4;
}
.kl-related-img-fallback svg{ width:40px; height:40px; }
.kl-related-body{
    padding:18px 20px 22px;
    display:flex; flex-direction:column; gap:6px;
    flex:1;
}
.kl-related-date{
    font-size:12px; font-weight:600; color:#ec4899;
}
.kl-related-title-card{
    margin:0;
    font-size:16px; font-weight:700; color:#111827;
    line-height:1.4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
}
.kl-related-card:hover .kl-related-title-card{ color:#db2777; }
.kl-related-excerpt{
    margin:2px 0 0;
    font-size:13px; line-height:1.55; color:#6b7280;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    overflow:hidden;
}

/* Comments inside post — same width via .kl-post-wrap, card look */
.kl-post-comments{
    margin-top:48px;
}
.kl-post-comments .comments-area{
    margin-top:0;
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:24px;
    padding:32px 24px;
    box-shadow:0 4px 24px rgba(0,0,0,.04);
}
@media(min-width:640px){ .kl-post-comments .comments-area{ padding:40px; } }
@media(min-width:1024px){ .kl-post-comments .comments-area{ padding:48px 56px; } }

/* ===== BLOG SINGLE POST — TYPOGRAPHY ===== */
.kl-prose{
    color:#374151;
    font-size:17px;
    line-height:1.75;
    word-wrap:break-word;
}
.kl-prose > *:first-child{ margin-top:0; }
.kl-prose > *:last-child{ margin-bottom:0; }

.kl-prose p{ margin:0 0 1.25em; }
.kl-prose p:empty{ display:none; }

.kl-prose h2,
.kl-prose h3,
.kl-prose h4,
.kl-prose h5,
.kl-prose h6{
    color:#111827;
    font-weight:700;
    line-height:1.3;
    margin:1.8em 0 .7em;
    letter-spacing:-0.01em;
}
.kl-prose h2{ font-size:28px; padding-left:14px; border-left:4px solid #ec4899; }
.kl-prose h3{ font-size:22px; }
.kl-prose h4{ font-size:19px; }
.kl-prose h5{ font-size:17px; }
.kl-prose h6{ font-size:15px; text-transform:uppercase; letter-spacing:.05em; color:#6b7280; }

.kl-prose a:not(.wp-element-button):not(.button){
    color:#ec4899;
    text-decoration:underline;
    text-decoration-color:rgba(236,72,153,.35);
    text-underline-offset:3px;
    transition:color .2s,text-decoration-color .2s;
    word-break:break-word;
}
.kl-prose a:not(.wp-element-button):not(.button):hover{
    color:#db2777;
    text-decoration-color:#db2777;
}

.kl-prose strong,
.kl-prose b{ color:#111827; font-weight:700; }
.kl-prose em,
.kl-prose i{ font-style:italic; }
.kl-prose mark{ background:#fef3c7; color:#111827; padding:1px 4px; border-radius:4px; }
.kl-prose del{ color:#9ca3af; }

.kl-prose ul,
.kl-prose ol{ margin:0 0 1.25em; padding-left:1.5em; }
.kl-prose ul{ list-style:none; padding-left:0; }
.kl-prose ul > li{ position:relative; padding-left:1.7em; margin:.4em 0; }
.kl-prose ul > li::before{
    content:""; position:absolute; left:.4em; top:.65em;
    width:8px; height:8px; border-radius:50%;
    background:linear-gradient(135deg,#f472b6,#fb7185);
}
.kl-prose ol{ list-style:none; counter-reset:kl; padding-left:0; }
.kl-prose ol > li{ position:relative; padding-left:2.1em; margin:.4em 0; counter-increment:kl; }
.kl-prose ol > li::before{
    content:counter(kl); position:absolute; left:0; top:.15em;
    width:1.6em; height:1.6em; border-radius:50%;
    background:#fdf2f8; color:#ec4899;
    font-size:.85em; font-weight:700;
    display:inline-flex; align-items:center; justify-content:center;
}
.kl-prose li > ul,
.kl-prose li > ol{ margin:.4em 0; }

.kl-prose blockquote{
    margin:1.5em 0;
    padding:1em 1.25em;
    border-left:4px solid #ec4899;
    background:linear-gradient(90deg,#fdf2f8,transparent 70%);
    border-radius:0 12px 12px 0;
    color:#4b5563;
    font-style:italic;
    font-size:17px;
}
.kl-prose blockquote p:last-child{ margin-bottom:0; }
.kl-prose blockquote cite{
    display:block;
    margin-top:.6em;
    font-style:normal;
    font-size:14px;
    color:#9ca3af;
    font-weight:600;
}

.kl-prose hr{
    margin:2em 0;
    border:none;
    height:1px;
    background:linear-gradient(90deg,transparent,#e5e7eb,transparent);
}

.kl-prose img,
.kl-prose figure{
    margin:1.5em 0;
    max-width:100%;
    height:auto;
    border-radius:16px;
}
.kl-prose figure{ display:flex; flex-direction:column; gap:.5em; }
.kl-prose figure img{ margin:0; width:100%; }
.kl-prose figcaption{
    font-size:13px;
    color:#9ca3af;
    text-align:center;
    font-style:italic;
}

.kl-prose .wp-block-image.alignwide img,
.kl-prose .alignwide{ max-width:120%; margin-left:-10%; margin-right:-10%; }
@media(max-width:640px){
    .kl-prose .wp-block-image.alignwide img,
    .kl-prose .alignwide{ max-width:100%; margin-left:0; margin-right:0; }
}

.kl-prose code{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:.9em;
    background:#f3f4f6;
    color:#be185d;
    padding:2px 6px;
    border-radius:6px;
}
.kl-prose pre{
    background:#0f172a;
    color:#e2e8f0;
    padding:18px 20px;
    border-radius:14px;
    overflow-x:auto;
    margin:1.5em 0;
    font-size:14px;
    line-height:1.6;
}
.kl-prose pre code{
    background:transparent;
    color:inherit;
    padding:0;
    font-size:inherit;
}

.kl-prose table{
    width:100%;
    border-collapse:collapse;
    margin:1.5em 0;
    font-size:15px;
    border-radius:12px;
    overflow:hidden;
    border:1px solid #f3f4f6;
}
.kl-prose table th,
.kl-prose table td{
    padding:10px 14px;
    border-bottom:1px solid #f3f4f6;
    text-align:left;
}
.kl-prose table th{ background:#fdf2f8; color:#111827; font-weight:700; }
.kl-prose table tr:last-child td{ border-bottom:none; }

.kl-prose .wp-block-pullquote{
    border:none;
    text-align:center;
    padding:1.5em 0;
    border-top:1px solid #f3f4f6;
    border-bottom:1px solid #f3f4f6;
    font-size:22px;
    color:#111827;
    font-weight:500;
}

.kl-prose .wp-block-gallery,
.kl-prose .blocks-gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:12px;
    list-style:none;
    padding:0;
    margin:1.5em 0;
}
.kl-prose .wp-block-gallery figure,
.kl-prose .blocks-gallery-grid .blocks-gallery-item{ margin:0; }

.kl-prose .wp-block-embed iframe{
    width:100%;
    border-radius:16px;
    aspect-ratio:16/9;
    height:auto;
}

/* Post hero — keep header visible over gradient */
.kl-post-hero{ z-index:1; }
.kl-post-hero h1{ letter-spacing:-0.02em; }

/* Featured thumbnail overlapping hero and content card */
.kl-post-thumb{ position:relative; z-index:2; }
.kl-post-thumb img{ display:block; width:100%; height:auto; max-height:520px; object-fit:cover; }

/* Polish comments inside the blog card context */
.kl-post + .mt-14 .comments-area,
article.kl-post ~ * .comments-area{ margin-top:0; }


/* =========================================================
   MOBILE HEADER — CATALOG ACCORDION (kl-m-*)
   ========================================================= */
.kl-m-catalog{
	border-radius:12px;
	overflow:hidden;
	background:transparent;
	transition:background-color .2s ease;
}
.kl-m-catalog[open]{ background:#fdf2f8; }
.kl-m-catalog > summary{ list-style:none; cursor:pointer; }
.kl-m-catalog > summary::-webkit-details-marker{ display:none; }

.kl-m-summary{
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 16px;
	border-radius:12px;
	font-size:14px;
	font-weight:500;
	color:#374151;
	transition:background-color .2s ease, color .2s ease;
}
.kl-m-summary:hover{ background:#fdf2f8; color:#be185d; }
.kl-m-icon{ width:20px; height:20px; color:#9ca3af; flex:0 0 auto; }
.kl-m-catalog[open] .kl-m-icon{ color:#ec4899; }
.kl-m-label{ flex:1 1 auto; }
.kl-m-chevron{ width:18px; height:18px; color:#9ca3af; transition:transform .25s ease; flex:0 0 auto; }
.kl-m-catalog[open] .kl-m-chevron{ transform:rotate(180deg); color:#ec4899; }

.kl-m-cat-body{
	padding:8px 8px 12px;
	animation:klMFade .2s ease both;
}
@keyframes klMFade{ from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:none} }

.kl-m-cat-all{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:10px 14px;
	border-radius:10px;
	background:linear-gradient(135deg,#ec4899,#f472b6);
	color:#fff !important;
	font-size:13px;
	font-weight:600;
	text-decoration:none;
	margin:4px 4px 10px;
	box-shadow:0 6px 18px -8px rgba(236,72,153,.6);
}
.kl-m-cat-all svg{ width:16px; height:16px; }

.kl-m-cat-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.kl-m-cat-item{ margin:0; padding:0; }
.kl-m-cat-link{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:10px 14px;
	border-radius:10px;
	font-size:13.5px;
	font-weight:500;
	color:#374151;
	text-decoration:none;
	transition:background-color .2s ease, color .2s ease;
}
.kl-m-cat-link:hover{ background:#fff; color:#be185d; }
.kl-m-cat-name{ flex:1 1 auto; }
.kl-m-cat-count{
	font-size:11px;
	font-weight:600;
	color:#9ca3af;
	background:#fff;
	padding:1px 8px;
	border-radius:999px;
	min-width:22px;
	text-align:center;
}
.kl-m-subs{ list-style:none; margin:0; padding:0 14px 6px 32px; display:flex; flex-direction:column; gap:2px; }
.kl-m-subs li{ margin:0; }
.kl-m-subs a{
	display:block;
	padding:7px 10px;
	border-radius:8px;
	font-size:13.5px;
	color:#6b7280;
	text-decoration:none;
	position:relative;
	transition:color .2s ease, background-color .2s ease;
}
.kl-m-subs a::before{
	content:"";
	position:absolute;
	left:-6px;
	top:50%;
	width:4px;
	height:4px;
	border-radius:50%;
	background:#f9a8d4;
	transform:translateY(-50%);
}
.kl-m-subs a:hover{ color:#be185d; background:#fff; }


/* =========================================================
   MOBILE SEARCH OVERLAY (kl-search-*)
   ========================================================= */
.kl-search-overlay{
	position:fixed; inset:0;
	z-index:70;
	display:flex; flex-direction:column;
	opacity:0;
	pointer-events:none;
	transition:opacity .2s ease;
}
.kl-search-overlay[hidden]{ display:none !important; }
.kl-search-overlay.is-open{ opacity:1; pointer-events:auto; }

.kl-search-backdrop{
	position:absolute; inset:0;
	background:rgba(17,24,39,.35);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
}
.kl-search-panel{
	position:relative;
	margin:0 auto;
	width:100%;
	max-width:720px;
	background:#fff;
	box-shadow:0 20px 60px -20px rgba(17,24,39,.25);
	border-radius:0 0 24px 24px;
	display:flex; flex-direction:column;
	max-height:90vh;
	transform:translateY(-14px);
	opacity:0;
	transition:transform .25s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
}
.kl-search-overlay.is-open .kl-search-panel{ transform:none; opacity:1; }

.kl-search-head{
	display:flex; align-items:center; gap:8px;
	padding:10px 12px 10px 14px;
	border-bottom:1px solid #f3f4f6;
}
.admin-bar .kl-search-panel,
html.admin-bar .kl-search-panel{
	margin-top:var(--kl-admin-bar-h, var(--wp-admin--admin-bar--height, 32px));
}

.kl-search-form{
	flex:1 1 auto;
	display:flex; align-items:center; gap:10px;
	padding:10px 14px;
	background:#f9fafb;
	border:1px solid #f3f4f6;
	border-radius:14px;
	transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.kl-search-form:focus-within{
	border-color:#f9a8d4;
	background:#fff;
	box-shadow:0 0 0 4px rgba(236,72,153,.12);
}
.kl-search-ico{ width:20px; height:20px; color:#9ca3af; flex:0 0 auto; display:flex; }
.kl-search-ico svg{ width:100%; height:100%; }
/* 16px минимум: иначе iOS Safari зумит страницу при фокусе на поле */
.kl-search-input{
	flex:1 1 auto;
	border:0 !important;
	outline:0 !important;
	background:transparent !important;
	box-shadow:none !important;
	padding:0 !important;
	font-size:16px;
	color:#111827;
	min-width:0;
	-webkit-text-size-adjust:100%;
}
.kl-search-input::placeholder{ color:#9ca3af; }
.kl-search-clear{
	flex:0 0 auto;
	width:28px; height:28px;
	border-radius:999px;
	border:0;
	background:#e5e7eb;
	color:#6b7280;
	display:inline-flex; align-items:center; justify-content:center;
	cursor:pointer;
	padding:0;
	transition:background-color .2s ease, color .2s ease;
}
.kl-search-clear:hover{ background:#fecdd3; color:#be185d; }
.kl-search-clear svg{ width:14px; height:14px; }
.kl-search-close{
	flex:0 0 auto;
	background:transparent;
	border:0;
	color:#ec4899;
	font-size:14px;
	font-weight:600;
	padding:8px 10px;
	border-radius:10px;
	cursor:pointer;
	transition:background-color .2s ease;
}
.kl-search-close:hover{ background:#fdf2f8; }

.kl-search-body{
	padding:18px 18px 24px;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.kl-search-section + .kl-search-section{ margin-top:20px; }
.kl-search-section-title{
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.06em;
	color:#9ca3af;
	margin:0 0 10px;
}
.kl-search-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.kl-search-chip{
	display:inline-flex; align-items:center;
	padding:8px 14px;
	border-radius:999px;
	background:#fdf2f8;
	color:#be185d !important;
	font-size:13px;
	font-weight:500;
	text-decoration:none;
	border:1px solid #fbcfe8;
	transition:background-color .2s ease, transform .15s ease;
}
.kl-search-chip:hover{ background:#fce7f3; transform:translateY(-1px); }

.kl-search-links{
	list-style:none; margin:0; padding:0;
	display:flex; flex-direction:column;
	gap:4px;
}
.kl-search-links li{ margin:0; }
.kl-search-links a{
	display:flex; align-items:center; gap:12px;
	padding:12px 14px;
	border-radius:12px;
	color:#374151 !important;
	font-size:14px;
	font-weight:500;
	text-decoration:none;
	transition:background-color .2s ease, color .2s ease;
}
.kl-search-links a svg{ width:18px; height:18px; color:#9ca3af; flex:0 0 auto; }
.kl-search-links a:hover{ background:#fdf2f8; color:#be185d !important; }
.kl-search-links a:hover svg{ color:#ec4899; }

@media(min-width:1024px){
	.kl-search-panel{ margin-top:12vh; border-radius:24px; }
}


/* =========================================================
   MOBILE CATALOG BOTTOM SHEET (kl-sheet-*)
   ========================================================= */
.kl-sheet{
	position:fixed; inset:0;
	z-index:70;
	display:flex; flex-direction:column; justify-content:flex-end;
	opacity:0;
	pointer-events:none;
	transition:opacity .25s ease;
}
.kl-sheet[hidden]{ display:none !important; }
.kl-sheet.is-open{ opacity:1; pointer-events:auto; }

.kl-sheet-backdrop{
	position:absolute; inset:0;
	background:rgba(17,24,39,.4);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
}
.kl-sheet-panel{
	position:relative;
	margin:0 auto;
	width:100%;
	max-width:560px;
	max-height:85vh;
	background:#fff;
	border-radius:24px 24px 0 0;
	box-shadow:0 -20px 60px -20px rgba(17,24,39,.35);
	display:flex; flex-direction:column;
	transform:translateY(24px);
	opacity:0;
	transition:transform .3s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
}
.kl-sheet.is-open .kl-sheet-panel{ transform:none; opacity:1; }

.kl-sheet-grab{
	width:44px; height:4px;
	border-radius:999px;
	background:#e5e7eb;
	margin:8px auto 0;
	flex:0 0 auto;
}
.kl-sheet-head{
	display:flex; align-items:center; justify-content:space-between;
	padding:10px 18px 14px;
	border-bottom:1px solid #f3f4f6;
	flex:0 0 auto;
}
.kl-sheet-title{
	margin:0;
	font-size:18px;
	font-weight:700;
	color:#111827;
	letter-spacing:-0.01em;
}
.kl-sheet-close{
	width:36px; height:36px;
	border-radius:999px;
	border:0;
	background:#f3f4f6;
	color:#6b7280;
	display:inline-flex; align-items:center; justify-content:center;
	cursor:pointer;
	padding:0;
	transition:background-color .2s ease, color .2s ease;
}
.kl-sheet-close:hover{ background:#fecdd3; color:#be185d; }
.kl-sheet-close svg{ width:16px; height:16px; }

.kl-sheet-body{
	padding:14px 14px 24px;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}

.kl-sheet-all{
	display:flex; align-items:center; gap:14px;
	padding:14px 16px;
	margin-bottom:10px;
	border-radius:16px;
	background:linear-gradient(135deg,#fdf2f8,#fce7f3);
	color:#111827 !important;
	text-decoration:none;
	transition:transform .15s ease, box-shadow .2s ease;
	border:1px solid #fbcfe8;
}
.kl-sheet-all:hover{ transform:translateY(-1px); box-shadow:0 8px 24px -12px rgba(236,72,153,.4); }
.kl-sheet-all-ico{
	width:40px; height:40px;
	border-radius:12px;
	background:#fff;
	color:#ec4899;
	display:inline-flex; align-items:center; justify-content:center;
	flex:0 0 auto;
}
.kl-sheet-all-ico svg{ width:20px; height:20px; }
.kl-sheet-all-body{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.kl-sheet-all-title{ font-size:15px; font-weight:700; }
.kl-sheet-all-sub{ font-size:12.5px; color:#6b7280; font-weight:500; }
.kl-sheet-arrow{ width:18px; height:18px; color:#ec4899; flex:0 0 auto; }

.kl-sheet-list{
	list-style:none; margin:0; padding:0;
	display:flex; flex-direction:column; gap:4px;
}
.kl-sheet-item{ margin:0; padding:0; }

.kl-sheet-details{
	background:#f9fafb;
	border-radius:14px;
	overflow:hidden;
	transition:background-color .2s ease;
}
.kl-sheet-details[open]{ background:#fff; box-shadow:0 4px 18px -10px rgba(17,24,39,.08); }
.kl-sheet-details > summary{ list-style:none; cursor:pointer; }
.kl-sheet-details > summary::-webkit-details-marker{ display:none; }

.kl-sheet-summary,
.kl-sheet-link{
	display:flex; align-items:center; gap:12px;
	padding:14px 16px;
	font-size:14.5px;
	font-weight:600;
	color:#111827;
	text-decoration:none;
	transition:color .2s ease;
}
.kl-sheet-link{ border-radius:14px; background:#f9fafb; }
.kl-sheet-link:hover{ background:#fdf2f8; color:#be185d !important; }
.kl-sheet-name{ flex:1 1 auto; min-width:0; }
.kl-sheet-count{
	font-size:11.5px;
	font-weight:700;
	color:#9ca3af;
	background:#fff;
	padding:2px 10px;
	border-radius:999px;
	min-width:26px;
	text-align:center;
	border:1px solid #f3f4f6;
}
.kl-sheet-details[open] .kl-sheet-count{ color:#ec4899; border-color:#fbcfe8; }
.kl-sheet-chev{ width:18px; height:18px; color:#9ca3af; transition:transform .25s ease; flex:0 0 auto; }
.kl-sheet-details[open] .kl-sheet-chev{ transform:rotate(180deg); color:#ec4899; }
.kl-sheet-arrow-sm{ width:16px; height:16px; color:#9ca3af; flex:0 0 auto; }

.kl-sheet-subs{
	list-style:none;
	margin:0;
	padding:4px 12px 14px 18px;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:6px;
	align-items:stretch;
}
@media(max-width:420px){
	.kl-sheet-subs{ grid-template-columns:1fr; }
}
.kl-sheet-subs li{
	margin:0;
	display:flex;
	min-height:0;
}
.kl-sheet-sub{
	flex:1 1 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	align-self:stretch;
	width:100%;
	min-height:3.5rem;
	padding:12px 10px;
	box-sizing:border-box;
	border-radius:10px;
	font-size:13.75px;
	font-weight:500;
	line-height:1.25;
	text-align:center;
	color:#4b5563 !important;
	text-decoration:none;
	background:#f9fafb;
	transition:background-color .2s ease, color .2s ease;
	word-wrap:break-word;
	overflow-wrap:anywhere;
	hyphens:auto;
	-webkit-hyphens:auto;
}
.kl-sheet-sub:hover{ background:#fdf2f8; color:#be185d !important; }


/* Служебные тапы: без двойного тап-зума страницы (iOS/Android) */
#revPrev, #revNext,
#klCarePrev, #klCareNext,
.kl-care-slider__arrow,
[data-kl-open-sheet],
[data-kl-sheet-close],
[data-kl-search-close],
.kl-search-close,
button.kl-search-clear,
#mobileSearchBtn,
#mobileMenuBtn,
.quickview-close,
.woocommerce div.product form.cart .quantity .kl-qty-btn{
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

/* =========================================================
   BODY LOCK WHEN MODAL OPEN
   ========================================================= */
html.kl-modal-open,
body.kl-modal-open{ overflow:hidden !important; }


/* =========================================================
   MOBILE HEADER: hamburger button active state
   ========================================================= */
#mobileMenuBtn[aria-expanded="true"]{ background:#fdf2f8; }
#mobileMenuBtn[aria-expanded="true"] svg{ color:#ec4899; }


/* =========================================================
   HERO — background video
   ========================================================= */
.kl-hero{
    isolation:isolate;
    /* Pull hero up behind the fixed transparent header (h-20 = 80px)
       so content is vertically centered within the full viewport,
       not within the area below the header. */
    margin-top:-80px;
    min-height:100vh;
    min-height:100svh;
}
/* Плавный выход видео в фон сайта (без резкой линии снизу) */
.kl-hero::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:clamp(96px, 24vh, 280px);
    z-index:2;
    pointer-events:none;
    background:linear-gradient(
        180deg,
        rgba(255,255,255,0) 0%,
        rgba(253,242,248,.22) 22%,
        rgba(252,231,243,.55) 48%,
        rgba(255,250,251,.92) 78%,
        #fffafb 100%
    );
}
.kl-hero-video{
    pointer-events:none;
    will-change:transform;
}
/* Розоватое затенение + читаемость текста; слои с мягкими стопами */
.kl-hero-overlay{
    background:
        linear-gradient(90deg,
            rgba(253,242,248,.90) 0%,
            rgba(253,242,248,.72) 32%,
            rgba(252,231,243,.38) 58%,
            rgba(253,242,248,.12) 78%,
            rgba(253,242,248,0) 100%),
        linear-gradient(180deg,
            rgba(252,231,243,.18) 0%,
            rgba(253,242,248,.42) 38%,
            rgba(251,207,232,.28) 72%,
            rgba(253,242,248,.52) 100%),
        linear-gradient(125deg,
            rgba(244,114,182,.10) 0%,
            rgba(253,242,248,.04) 45%,
            transparent 70%);
}
@media(max-width:1023px){
    .kl-hero-overlay{
        background:
            linear-gradient(180deg,
                rgba(252,231,243,.22) 0%,
                rgba(253,242,248,.50) 35%,
                rgba(251,207,232,.32) 68%,
                rgba(253,242,248,.62) 100%),
            linear-gradient(125deg,
                rgba(244,114,182,.12) 0%,
                transparent 55%);
    }
}
@media (prefers-reduced-motion: reduce){
    .kl-hero-video{ display:none; }
}
@media (max-width:639px){
    .kl-hero::after{
        height:clamp(64px, 16vh, 200px);
    }
}

/* Герой — заголовок: размеры в теме (классы text-* из PHP не всегда попадают в Tailwind bundle) */
.kl-hero-display{
    font-weight:800;
    line-height:1.05;
}
.kl-hero-display__accent{
    font-size:clamp(3rem, 4.5vw + 1.65rem, 5.3125rem); /* чуть выше прежних «xl:text-7xl» у второй строки */
    font-weight:800;
    line-height:1.02;
}
.kl-hero-display__sub{
    font-size:clamp(2rem, 2.35vw + 1rem, 3.4375rem);
    font-weight:600;
    line-height:1.12;
}

/* Hero: вторичная CTA «О студии» — стекло, мягкая тень, hover */
.kl-hero-cta-secondary{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:1rem 1.75rem;
    border-radius:9999px;
    font-size:1.0625rem;
    font-weight:600;
    letter-spacing:-0.02em;
    color:#111827;
    text-decoration:none;
    background:rgba(255,255,255,.48);
    -webkit-backdrop-filter:blur(14px) saturate(1.15);
    backdrop-filter:blur(14px) saturate(1.15);
    border:1.5px solid rgba(255,255,255,.92);
    box-shadow:
        0 4px 28px -10px rgba(236,72,153,.28),
        0 2px 10px -6px rgba(17,24,39,.1),
        inset 0 1px 0 rgba(255,255,255,.65);
    transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .2s ease,color .2s ease;
}
.kl-hero-cta-secondary:hover{
    color:#9d174d;
    background:rgba(255,255,255,.82);
    border-color:rgba(244,114,182,.55);
    box-shadow:
        0 10px 36px -14px rgba(236,72,153,.38),
        0 4px 16px -8px rgba(17,24,39,.12),
        inset 0 1px 0 rgba(255,255,255,.9);
    transform:translateY(-2px);
}
.kl-hero-cta-secondary:focus-visible{
    outline:none;
    box-shadow:0 0 0 3px rgba(236,72,153,.35),0 8px 28px -12px rgba(236,72,153,.35);
}
.kl-hero-cta-secondary__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#db2777;
    opacity:.88;
    transition:transform .25s ease,opacity .25s ease,color .25s ease;
}
.kl-hero-cta-secondary:hover .kl-hero-cta-secondary__icon{
    color:#be185d;
    opacity:1;
    transform:translateY(3px);
}

/* Hero CTA — верхний ряд: две колонки (не переносим «Каталог» и «О студии» каждый на свою строку) */
.kl-hero-cta-two > .kl-hero-cta-shop.kl-hero-cta-shop--in-grid{align-self:stretch;height:100%}
.kl-hero-cta-two > .kl-hero-cta-secondary.kl-hero-cta-secondary--in-grid{align-self:stretch;width:100%;min-height:100%}
@media(max-width:639px){
    .kl-hero-cta-shop.kl-hero-cta-shop--in-grid{
        padding:.6rem .45rem .6rem calc(0.06rem + 3.28rem + 0.42rem)!important;
    }
    .kl-hero-cta-two .kl-hero-balloons{
        width:3.28rem!important;
        height:3.28rem!important;
    }
    .kl-hero-cta-shop.kl-hero-cta-shop--in-grid .kl-hero-cta-shop__label{
        word-break:break-word;
    }
    .kl-hero-cta-shop.kl-hero-cta-shop--in-grid .kl-hero-cta-shop__arrow{
        flex-shrink:0;
        align-self:center;
    }
}
@media(max-width:380px){
    .kl-hero-cta-shop.kl-hero-cta-shop--in-grid{
        font-size:.8rem!important;
        padding:.55rem .4rem .55rem calc(0.04rem + 3.05rem + 0.32rem)!important;
    }
    .kl-hero-cta-two .kl-hero-balloons{width:3.05rem!important;height:3.05rem!important;}
    .kl-hero-cta-secondary.kl-hero-cta-secondary--in-grid{font-size:.8rem!important;}
}

/* Цветочная вторичная CTA — тот же glass, но с букетом слева + иконка внешней ссылки.
   padding-left: левый отступ букета + его ширина + зазор до текста (букет position:absolute, в потоке не занимает места). */
.kl-hero-cta-secondary--flowers{
    padding-left:calc(0.25rem + 3.875rem + 0.75rem);
    overflow:visible;
    align-self:flex-start;
}
.kl-hero-cta-flowers-label{
    text-align:left;
    line-height:1.35;
    padding-left:.125rem;
}
@media (max-width:420px){
    .kl-hero-cta-secondary--flowers{padding-right:1.35rem;font-size:.98rem;padding-top:.9rem;padding-bottom:.9rem}
}

.kl-hero-flowers{
    pointer-events:none;
    position:absolute;
    left:.25rem;
    top:50%;
    width:3.875rem;
    height:3.875rem;
    transform:translateY(-50%);
    transition:filter .42s ease,transform .52s cubic-bezier(.34,1.45,.54,1);
    filter:saturate(1.06)drop-shadow(-2px 6px 10px rgba(236,72,153,.35));
}

.kl-hero-flowers__svg{display:block;width:100%;height:100%}
.kl-hf-part,.kl-hf-bud{
    opacity:0;
    animation:kl-hf-soft-in .75s cubic-bezier(.22,1,.36,1) forwards;
}

.kl-hf-stem{animation-delay:.12s}

.kl-hf-leaf-l{animation-delay:.22s}

.kl-hf-leaf-r{animation-delay:.32s}

.kl-hf-bud[data-idx="0"]{animation-delay:.45s}

.kl-hf-bud[data-idx="1"]{animation-delay:.55s}

.kl-hf-bud[data-idx="2"]{animation-delay:.65s}


.kl-hf-glare{
    opacity:0;
    animation:kl-hf-glare-in .58s cubic-bezier(.22,1,.36,1) .72s forwards;
}

.kl-hf-spot{
    opacity:0;
    animation:kl-hf-spot-in .45s ease .88s forwards;
}

@keyframes kl-hf-soft-in{
    from{
        opacity:0;
        filter:blur(9px);
    }
    to{
        opacity:1;
        filter:blur(0);
    }
}

@keyframes kl-hf-glare-in{
    from{
        opacity:0;
        transform:scale(.2);
    }
    to{
        opacity:.82;
        transform:scale(1);
    }
}

@keyframes kl-hf-spot-in{
    to{opacity:.58}
}

.kl-hero-cta-secondary--flowers:hover .kl-hero-flowers,
.kl-hero-cta-secondary--flowers:focus-visible .kl-hero-flowers{
    transform:translateY(-53%)scale(1.09);
    filter:saturate(1.16)brightness(1.02)drop-shadow(-3px 8px 16px rgba(236,72,153,.42));
}

.kl-hero-cta-secondary--external:hover .kl-hero-cta-secondary__icon,
.kl-hero-cta-secondary--external:focus-visible .kl-hero-cta-secondary__icon{
    transform:translate(5px,-4px);
}

@media (prefers-reduced-motion: reduce){
    .kl-hero-cta-secondary,
    .kl-hero-cta-secondary:hover,
    .kl-hero-cta-secondary__icon,
    .kl-hero-cta-secondary:hover .kl-hero-cta-secondary__icon{
        transition:none;
        transform:none;
    }
    .kl-hero-flowers{
        transition:none;
        transform:none;
    }
    .kl-hero-cta-secondary--flowers:hover .kl-hero-flowers,
    .kl-hero-cta-secondary--flowers:focus-visible .kl-hero-flowers{
        transform:none;
        filter:saturate(1.06)drop-shadow(-2px 6px 10px rgba(236,72,153,.35));
    }
    .kl-hf-glare,.kl-hf-spot,.kl-hb-glare,.kl-hb-spot{
        animation:none!important;
        opacity:1!important;
        filter:none!important;
        transform:none;
    }
    .kl-hf-part,.kl-hf-bud,.kl-hb-part,.kl-hb-ball{
        animation:none!important;
        opacity:1!important;
        filter:none!important;
    }
    .kl-hero-cta-shop__arrow,
    .kl-hero-cta-shop:hover .kl-hero-cta-shop__arrow,
    .kl-hero-cta-shop:focus-visible .kl-hero-cta-shop__arrow{
        transition:none;
        transform:none;
    }
    .kl-hero-balloons{
        transition:none;
        transform:none;
    }
    .kl-hero-cta-shop:hover .kl-hero-balloons,
    .kl-hero-cta-shop:focus-visible .kl-hero-balloons{
        transform:none;
        filter:saturate(1.1)brightness(1.05)drop-shadow(0 2px 8px rgba(244,114,182,.42));
    }
}


/* Hero: главная тёмная CTA «Перейти в каталог» + SVG-шары (анимация как у цветочной кнопки) */
.kl-hero-cta-shop{
    position:relative;
    overflow:visible;
    align-self:flex-start;
    padding:.95rem calc(1.75rem + 2px);
    padding-left:calc(0.2rem + 4.3125rem + 0.7rem);
    box-shadow:0 14px 40px -22px rgba(236,72,153,.52),0 4px 16px rgba(0,0,0,.35);
}

.kl-hero-cta-shop:hover,
.kl-hero-cta-shop:focus-visible{
    box-shadow:
        0 18px 44px -20px rgba(244,114,182,.62),
        0 10px 22px rgba(0,0,0,.36);
}

.kl-hero-cta-shop__label{
    text-align:left;
    padding-left:.1rem;
    line-height:1.35;
}
.kl-hero-cta-shop__arrow{
    font-size:1.2em;
    line-height:1;
    opacity:.95;
    transition:transform .22s ease,opacity .22s ease;
}
.kl-hero-cta-shop:hover .kl-hero-cta-shop__arrow,
.kl-hero-cta-shop:focus-visible .kl-hero-cta-shop__arrow{
    transform:translateX(4px);
    opacity:1;
}

.kl-hero-balloons{
    pointer-events:none;
    position:absolute;
    left:.12rem;
    top:50%;
    width:4.3125rem;
    height:4.3125rem;
    transform:translateY(-50%);
    transition:filter .42s ease,transform .52s cubic-bezier(.34,1.45,.54,1);
    filter:saturate(1.1)brightness(1.05)drop-shadow(0 2px 8px rgba(244,114,182,.42));
}

.kl-hero-balloons__svg{display:block;width:100%;height:100%}
.kl-hb-part,.kl-hb-ball{
    opacity:0;
    animation:kl-hf-soft-in .74s cubic-bezier(.22,1,.36,1) forwards;
}
.kl-hb-string:first-of-type{animation-delay:.1s}

.kl-hb-string:nth-of-type(2){animation-delay:.16s}

.kl-hb-string:nth-of-type(3){animation-delay:.22s}

.kl-hb-ball[data-idx="0"]{animation-delay:.35s}

.kl-hb-ball[data-idx="1"]{animation-delay:.48s}

.kl-hb-ball[data-idx="2"]{animation-delay:.6s}

.kl-hb-glare{
    opacity:0;
    animation:kl-hf-glare-in .52s cubic-bezier(.22,1,.36,1) .72s forwards;
}
.kl-hb-spot{
    opacity:0;
    animation:kl-hf-spot-in .42s ease .88s forwards;
}

.kl-hero-cta-shop:hover .kl-hero-balloons,
.kl-hero-cta-shop:focus-visible .kl-hero-balloons{
    transform:translateY(-54%)scale(1.085);
    filter:saturate(1.2)brightness(1.12)drop-shadow(0 4px 14px rgba(251,207,232,.65));
}



/* Контакты: iframe Яндекс с карточкой организации — выше блок 16:9, чтобы были видны панели */
.kl-yandex-org-widget{
    --kl-yandex-h:clamp(392px,calc((100vw-2rem)*0.94),548px);
    height:var(--kl-yandex-h);
    min-height:392px;
    max-height:548px;
}
@media(min-width:1024px){
    .kl-yandex-org-widget{
        --kl-yandex-h:clamp(420px,min(536px,calc((100vw-2rem)*0.42)),560px);
    }
}

/* Главная: py-12 из PHP не попадает в сброрку Tailwind (в bundle есть lg:py-32, но не py-12) — без этого на мобилке нет вертикального воздуха между блоками */
.kl-home-block{
    padding-top:3rem;
    padding-bottom:3rem;
}
@media(min-width:1024px){
    .kl-home-block{
        padding-top:8rem;
        padding-bottom:8rem;
    }
}

/* Главная / «О нас»: mb-10 из разметки не в Tailwind bundle — без отступа текст прилипает к карточкам категорий */
.kl-about-intro{
    margin-bottom:2.75rem;
}
@media(min-width:1024px){
    .kl-about-intro{
        margin-bottom:4rem;
    }
}

/* =========================================================
   Главная: плавный переход оттенков фона при прокрутке
   ========================================================= */
body.home{
    background-color:#fffafb;
    background-image:linear-gradient(
        180deg,
        #fce7f3 0%,
        #fbe8f2 7%,
        #fdf2f8 14%,
        #fef6f9 20%,
        #fff5f7 28%,
        #ffffff 40%,
        #fafafa 50%,
        #ffffff 58%,
        #fff7f9 68%,
        #fdf2f8 78%,
        #fce7f3 88%,
        #fbcfe8 96%,
        #f9a8d4 100%
    );
    background-repeat:no-repeat;
    background-size:100% 100%;
}
@media (min-width:1024px) and (prefers-reduced-motion:no-preference){
    body.home{
        background-attachment:fixed;
        background-size:100vw 100vh;
    }
}
@media (max-width:1023px),(prefers-reduced-motion:reduce){
    body.home{
        background-attachment:scroll;
        background-size:100% min(320vh, 4800px);
    }
}


/* =========================================================
   LOGO (header & footer)
   ========================================================= */
.kl-logo{ text-decoration:none; line-height:1; flex:0 0 auto; }
.kl-logo .kl-logo-img,
.kl-logo img,
.kl-logo .custom-logo{
    display:block;
    height:auto;
    width:auto;
    max-width:100%;
    transition:transform .2s ease, opacity .2s ease;
}
.kl-logo:hover .kl-logo-img,
.kl-logo:hover img,
.kl-logo:hover .custom-logo{ transform:scale(1.03); }

/* Header — pink logo on light background */
.kl-logo--header .kl-logo-img,
.kl-logo--header img,
.kl-logo--header .custom-logo{
    height:36px!important;
    max-height:36px;
    width:auto!important;
}
@media(min-width:1024px){
    .kl-logo--header .kl-logo-img,
    .kl-logo--header img,
    .kl-logo--header .custom-logo{
        height:42px!important;
        max-height:42px;
    }
}

/* Footer — white logo on dark background */
.kl-logo--footer .kl-logo-img,
.kl-logo--footer img,
.kl-logo--footer .custom-logo{
    height:48px!important;
    max-height:48px;
    width:auto!important;
}
@media(min-width:1024px){
    .kl-logo--footer .kl-logo-img,
    .kl-logo--footer img,
    .kl-logo--footer .custom-logo{
        height:54px!important;
        max-height:54px;
    }
}

/* Футер: вертикальные отступы (py-12/py-20 из разметки не попадали в сброрку Tailwind — логотип прилипал к розовой полосе) */
.kl-footer-inner{
    padding-top:3.5rem;
    padding-bottom:3rem;
}
@media(min-width:1024px){
    .kl-footer-inner{
        padding-top:5rem;
        padding-bottom:5rem;
    }
}


/* =========================================================
   CHECKOUT / CART (WooCommerce Blocks) — modern redesign
   NOTE: do NOT touch body background — site-wide pink tint is
   inherited from the page wrapper and drives the transparent
   header. We only style the inner blocks.
   ========================================================= */

/* Page heading */
.woocommerce-checkout .entry-header .entry-title,
.woocommerce-checkout h1.wp-block-post-title,
.wp-block-woocommerce-checkout + * h1,
.wp-block-woocommerce-checkout h1.entry-title{
    font-size:clamp(24px,3vw,32px);
    font-weight:700;
    color:#111827;
    letter-spacing:-.02em;
    margin:0 0 20px;
}
@media(max-width:899px){
    .wp-block-woocommerce-checkout h1.entry-title{margin:0 0 14px}
}

/* ----- SIDEBAR LAYOUT (cart + checkout) ----- */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart{
    max-width:1280px;
    margin:0 auto;
    padding:8px 0 48px;
    --kl-co-radius:18px;
    --kl-co-radius-lg:22px;
    --kl-co-border:#e8eaed;
    --kl-co-shadow:0 1px 2px rgba(17,24,39,.04), 0 12px 40px -24px rgba(17,24,39,.14);
    --kl-co-gap:24px;
}
/* Mobile: single column */
.wc-block-components-sidebar-layout{
    display:flex!important;
    flex-direction:column;
    gap:var(--kl-co-gap,20px);
}
@media(min-width:900px){
    .wc-block-components-sidebar-layout{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
        gap:32px!important;
        align-items:start!important;
    }
    .wc-block-checkout__main,
    .wc-block-cart__main{
        min-width:0;
        grid-column:1;
    }
    .wc-block-checkout__sidebar,
    .wc-block-cart__sidebar{
        grid-column:2;
        position:sticky;
        top:clamp(72px,10vh,104px);
        align-self:start;
    }
}

/* ----- STEPS / BLOCKS (cards) -----
   WC wraps every checkout step in multiple classes. We apply the
   card to the outer block-level wrapper so every step is ONE card
   regardless of which inner class WC uses. */
.wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout-pickup-options-block,
.wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout-additional-information-block,
.wp-block-woocommerce-checkout-order-note-block{
    background:#fff;
    border:1px solid var(--kl-co-border,#f3f4f6);
    border-radius:var(--kl-co-radius-lg,20px);
    padding:22px 24px 20px;
    margin:0 0 16px;
    box-shadow:var(--kl-co-shadow,0 1px 2px rgba(17,24,39,.03));
}

/* The inner checkout-step element is transparent (card lives on block). */
.wc-block-components-checkout-step{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    position:relative;
}
.wc-block-components-checkout-step::before{ display:none!important; content:none!important; }
.wc-block-components-checkout-step__container{padding:0!important}
.wc-block-components-checkout-step__heading{
    margin:0 0 8px;
    padding:0;
    border:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

/* Step title — match across all block heading markers WC uses */
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-contact-information-block > h2,
.wp-block-woocommerce-checkout-shipping-address-block > h2,
.wp-block-woocommerce-checkout-billing-address-block > h2,
.wp-block-woocommerce-checkout-shipping-method-block > h2,
.wp-block-woocommerce-checkout-shipping-methods-block > h2,
.wp-block-woocommerce-checkout-pickup-options-block > h2,
.wp-block-woocommerce-checkout-payment-block > h2,
.wp-block-woocommerce-checkout-additional-information-block > h2,
.wp-block-woocommerce-checkout-order-note-block > h2{
    font-size:clamp(16px,2.4vw,18px)!important;
    font-weight:700!important;
    color:#111827!important;
    letter-spacing:-.015em!important;
    margin:0 0 6px!important;
    padding:0 0 6px!important;
    border-bottom:1px solid #f3f4f6!important;
}
.wc-block-components-checkout-step__description:empty{display:none!important}
.wc-block-components-checkout-step__description{
    color:#6b7280;
    font-size:14px;
    margin:-4px 0 10px;
}
/* Контакты, адреса, доставка, оплата: заголовок ближе к полям / опциям, линия на всю ширину */
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__heading{
    margin:0 0 2px!important;
}
.wp-block-woocommerce-checkout-contact-information-block > h2,
.wp-block-woocommerce-checkout-shipping-address-block > h2,
.wp-block-woocommerce-checkout-billing-address-block > h2,
.wp-block-woocommerce-checkout-shipping-methods-block > h2,
.wp-block-woocommerce-checkout-shipping-method-block > h2,
.wp-block-woocommerce-checkout-pickup-options-block > h2,
.wp-block-woocommerce-checkout-payment-block > h2,
.wp-block-woocommerce-checkout-additional-information-block > h2,
.wp-block-woocommerce-checkout-order-note-block > h2,
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__title{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0 0 4px!important;
    padding:0 0 6px!important;
    border-bottom:1px solid #e8eaed!important;
}
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-additional-information-block .wc-block-components-checkout-step__content,
.wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__content{
    margin-top:0!important;
    padding-top:0!important;
}
.wc-block-components-checkout-step__content{padding:0!important;margin:0!important}

/* ----- INPUT FIELDS (floating labels) ----- */
.wc-block-components-text-input,
.wc-block-components-address-form .wc-block-components-text-input{
    margin:0 0 12px;
}
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select,
.wc-block-components-combobox input{
    width:100%!important;
    height:56px!important;
    border:1.5px solid #e5e7eb!important;
    border-radius:14px!important;
    padding:18px 16px 6px!important;
    font-size:15px!important;
    color:#111827!important;
    background:#fff!important;
    transition:border-color .15s ease, box-shadow .15s ease;
    box-shadow:none!important;
}
.wc-block-components-text-input textarea{
    min-height:110px!important;
    height:auto!important;
    padding-top:22px!important;
    padding-bottom:12px!important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus{
    border-color:#ec4899!important;
    outline:none!important;
    box-shadow:0 0 0 4px rgba(236,72,153,.14)!important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox label{
    color:#9ca3af!important;
    font-size:14px!important;
    font-weight:500!important;
    left:16px!important;
    top:18px!important;
    transition:transform .15s ease, color .15s ease, font-size .15s ease;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label,
.wc-block-components-text-input input:focus + label,
.wc-block-components-text-input input:not(:placeholder-shown) + label{
    color:#ec4899!important;
    font-size:12px!important;
    font-weight:600!important;
    transform:translateY(-10px)!important;
}

/* Row of fields (city, zip, etc) */
.wc-block-components-address-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 12px;
}
.wc-block-components-address-form > *{grid-column:1 / -1}
.wc-block-components-address-form > #shipping-city,
.wc-block-components-address-form > #shipping-state,
.wc-block-components-address-form > #shipping-postcode,
.wc-block-components-address-form > #billing-city,
.wc-block-components-address-form > #billing-state,
.wc-block-components-address-form > #billing-postcode{grid-column:auto}

/* ----- SAVED ADDRESS CARD ----- */
.wc-block-components-address-card{
    background:#f9fafb;
    border:1px solid #e8eaed;
    border-radius:14px;
    padding:16px 18px;
    position:relative;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:flex-start;
}
.wc-block-components-address-card address{
    font-style:normal;
    font-size:14.5px;
    color:#374151;
    line-height:1.55;
    flex:1 1 auto;
}
.wc-block-components-address-card__edit{
    color:#6b7280!important;
    font-weight:600!important;
    font-size:13px!important;
    text-decoration:underline;
    background:transparent!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
}
.wc-block-components-address-card__edit:hover{color:#ec4899!important}

/* ----- CHECKBOXES ----- */
.wc-block-components-checkbox,
label.wc-block-components-checkbox{
    display:flex!important;
    align-items:center;
    gap:12px;
    margin:14px 0 0;
    cursor:pointer;
    position:relative;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    font-size:14px;
    color:#374151;
    line-height:1.5;
}
.wc-block-components-checkbox input[type="checkbox"],
.wc-block-components-checkbox .wc-block-components-checkbox__input{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:22px!important;
    height:22px!important;
    min-width:22px;
    border:1.5px solid #d1d5db!important;
    border-radius:6px!important;
    background:#fff!important;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto;
    display:inline-block;
    position:relative;
    box-shadow:none!important;
    vertical-align:middle;
}
.wc-block-components-checkbox input[type="checkbox"]:hover,
.wc-block-components-checkbox .wc-block-components-checkbox__input:hover{
    border-color:#ec4899!important;
}
.wc-block-components-checkbox input[type="checkbox"]:focus-visible,
.wc-block-components-checkbox .wc-block-components-checkbox__input:focus-visible{
    outline:none;
    box-shadow:0 0 0 4px rgba(236,72,153,.18)!important;
}
.wc-block-components-checkbox input[type="checkbox"]:checked,
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked{
    background:#ec4899!important;
    border-color:#ec4899!important;
}
/* Custom check mark via background-image so we don't depend on WC's svg */
.wc-block-components-checkbox input[type="checkbox"]:checked{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='3,8 7,12 13,4'/></svg>")!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-size:14px 14px!important;
}
/* Hide WC's own svg check — our background image is enough */
.wc-block-components-checkbox svg.wc-block-components-checkbox__mark{display:none!important}
.wc-block-components-checkbox__label,
.wc-block-components-checkbox > span{
    font-size:14px;
    color:#374151;
    line-height:1.5;
}

/* ----- RADIO OPTIONS (shipping / payment) -----
   Recolor native <input type="radio"> and restyle wrappers. */
.wc-block-components-radio-control{
    display:flex!important;
    flex-direction:column;
    gap:10px;
    background:transparent!important;
    border:0!important;
    padding:0!important;
}
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option,
label.wc-block-components-radio-control__option{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    border:1.5px solid #e5e7eb!important;
    border-radius:14px!important;
    padding:16px 18px!important;
    margin:0!important;
    background:#fff!important;
    transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
    cursor:pointer;
    min-height:58px;
    width:100%;
    box-sizing:border-box;
}
.wc-block-components-radio-control__option:hover{border-color:#fbcfe8!important}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option[aria-checked="true"],
.wc-block-components-radio-control__option:has(input:checked){
    border-color:#ec4899!important;
    background:#fdf2f8!important;
    box-shadow:0 0 0 3px rgba(236,72,153,.08)!important;
}
/* Native radio input — visible & recolored */
.wc-block-components-radio-control__input,
.wc-block-components-radio-control__option input[type="radio"]{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:22px!important;
    height:22px!important;
    min-width:22px;
    border:1.5px solid #d1d5db!important;
    border-radius:50%!important;
    background:#fff!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
    align-self:center!important;
    cursor:pointer;
    position:relative;
    transition:border-color .15s ease, background .15s ease;
    box-shadow:none!important;
    vertical-align:middle;
}
.wc-block-components-radio-control__input:checked,
.wc-block-components-radio-control__option input[type="radio"]:checked{
    border-color:#ec4899!important;
    background:radial-gradient(circle,#ec4899 0 6px,#fff 7px 100%)!important;
}
.wc-block-components-radio-control__input:hover,
.wc-block-components-radio-control__option input[type="radio"]:hover{
    border-color:#ec4899!important;
}
.wc-block-components-radio-control__input:focus-visible{
    outline:none;
    box-shadow:0 0 0 4px rgba(236,72,153,.18)!important;
}

/* Label group (primary text + secondary text) */
.wc-block-components-radio-control__option-layout{
    flex:1 1 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    flex-wrap:nowrap!important;
    min-width:0;
}
.wc-block-components-radio-control__label{
    font-weight:600!important;
    color:#111827!important;
    font-size:15px!important;
    line-height:1.3;
    min-width:0;
    flex:1 1 auto;
    white-space:normal;
}
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__description{
    color:#6b7280!important;
    font-size:13.5px!important;
    font-weight:600!important;
    text-transform:uppercase;
    letter-spacing:.03em;
    flex:0 0 auto;
    white-space:nowrap;
    margin-inline-start:.4em!important;
}
/* When selected, secondary label becomes pink accent */
.wc-block-components-radio-control__option-checked .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option[aria-checked="true"] .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option:has(input:checked) .wc-block-components-radio-control__secondary-label{
    color:#ec4899!important;
}

/* Accordion-style payment panel content (inside selected payment option) */
.wc-block-components-radio-control-accordion-content{
    padding:14px 18px 4px 58px!important;
    border-top:1px dashed #f3f4f6;
    margin:14px -18px 0!important;
}
.wc-block-components-radio-control-accordion-content:empty{display:none}
/* When accordion option is selected, allow content panel to sit below the label row */
.wc-block-components-radio-control-accordion-option{
    flex-wrap:wrap!important;
    align-items:center!important;
}
.wc-block-components-radio-control-accordion-option > label{
    display:flex!important;
    align-items:center!important;
    align-self:stretch!important;
    gap:14px;
    width:100%;
    cursor:pointer;
}
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control-accordion-content{
    align-self:stretch!important;
    flex-basis:100%;
    width:100%;
}

/* ----- SHIPPING METHODS (checkout) — thin rows, same language as payment ----- */
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control{
    gap:8px!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-shipping-methods-block label.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-shipping-method-block label.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-pickup-options-block label.wc-block-components-radio-control__option{
    border:1px solid #e8eaed!important;
    border-radius:10px!important;
    padding:12px 14px!important;
    min-height:0!important;
    box-shadow:none!important;
    gap:11px!important;
    align-items:center!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control-accordion-option{
    align-items:center!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option-checked,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option[aria-checked="true"],
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option:has(input:checked),
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option-checked,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option[aria-checked="true"],
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option:has(input:checked),
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option-checked,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option[aria-checked="true"],
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option:has(input:checked){
    border-color:#ec4899!important;
    background:#fdf2f8!important;
    box-shadow:inset 0 0 0 1px rgba(236,72,153,.35)!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option input[type="radio"],
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option input[type="radio"],
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option input[type="radio"]{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    align-self:center!important;
    margin-block:0!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__input:checked,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option input[type="radio"]:checked,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__input:checked,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option input[type="radio"]:checked,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__input:checked,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option input[type="radio"]:checked{
    background:radial-gradient(circle,#ec4899 0 5px,#fff 6px 100%)!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option-layout,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option-layout{
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px 16px!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__label{
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.35!important;
    text-align:left!important;
    white-space:normal!important;
    padding-inline-end:6px!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__secondary-label,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__description,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__secondary-label,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__description,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__secondary-label,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__description{
    font-size:11.5px!important;
    letter-spacing:.04em!important;
    margin-inline-start:10px!important;
}
@media(max-width:599px){
    .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__option,
    .wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option,
    .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__option,
    .wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option,
    .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__option,
    .wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control-accordion-option{
        min-height:48px!important;
    }
}

/* Самовывоз / способы доставки: WC может вынести <input> из <label> — без flex-ряда кружок наезжает на название */
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control-accordion-option{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:12px!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option > input[type="radio"],
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option > input[type="radio"],
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control-accordion-option > .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control-accordion-option > input[type="radio"]{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    inset:auto!important;
    flex:0 0 auto!important;
    margin:0!important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option > label.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control-accordion-option > label.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control-accordion-option > label.wc-block-components-radio-control__option{
    flex:1 1 auto!important;
    min-width:0!important;
}

/* ----- PAYMENT METHODS (checkout block) — thin rows, no bulky frames ----- */
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control{
    gap:8px!important;
    background:transparent!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option{
    border:0!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    min-height:0!important;
    align-items:stretch!important;
}
/* Выбранный метод с подсказкой: одна карточка, без розовой подложки между строкой и текстом */
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option:has(input:checked),
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option[aria-checked="true"]){
    background:#fff!important;
    border:1px solid #ec4899!important;
    border-radius:10px!important;
    box-shadow:none!important;
    overflow:hidden!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option:has(input:checked) > label.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option[aria-checked="true"]) > label.wc-block-components-radio-control__option{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-payment-block label.wc-block-components-radio-control__option{
    border:1px solid #e8eaed!important;
    border-radius:10px!important;
    padding:12px 14px!important;
    min-height:0!important;
    box-shadow:none!important;
    gap:11px!important;
    align-items:center!important;
    background:#fff!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option-checked,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option[aria-checked="true"],
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option:has(input:checked){
    border-color:#ec4899!important;
    background:#fff!important;
    box-shadow:none!important;
}
/* Если label не прямой child (редкая вёрстка WC), не дублировать рамку у выбранного */
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option:has(input:checked) label.wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option[aria-checked="true"]) label.wc-block-components-radio-control__option{
    border-width:0!important;
    border-radius:0!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__input,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option input[type="radio"]{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    align-self:center!important;
    margin-block:0!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__input:checked,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option input[type="radio"]:checked{
    background:radial-gradient(circle,#ec4899 0 5px,#fff 6px 100%)!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option-layout{
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label{
    font-size:14px!important;
    font-weight:500!important;
    line-height:1.35!important;
    text-align:left!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__secondary-label,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__description{
    font-size:11.5px!important;
    letter-spacing:.04em!important;
    margin-inline-start:10px!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content{
    padding:10px 14px 12px 46px!important;
    margin:0!important;
    border:0!important;
    border-top:1px solid #f0f0f0!important;
    background:#fff!important;
    outline:none!important;
    box-shadow:none!important;
}
/* Текст инструкции: без пунктира/обводки WC, белый фон */
.wp-block-woocommerce-checkout-payment-block .wc-block-checkout__payment-method-details,
.wp-block-woocommerce-checkout-payment-block [class*="wc-block-checkout__payment-method-details"]{
    background:#fff!important;
    border:0!important;
    border-style:none!important;
    outline:none!important;
    box-shadow:none!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-checkout__payment-method{
    background:#fff!important;
    border:0!important;
    outline:none!important;
    box-shadow:none!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-option > label{
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
    width:100%!important;
}
@media(max-width:599px){
    .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option,
    .wp-block-woocommerce-checkout-payment-block label.wc-block-components-radio-control__option{
        min-height:48px!important;
    }
}

/* Внешняя серая рамка WC вокруг всего списка способов оплаты (card / fieldset / payment-methods) */
.wp-block-woocommerce-checkout-payment-block fieldset,
.wp-block-woocommerce-checkout-payment-block .wc-block-components-card,
.wp-block-woocommerce-checkout-payment-block .wc-block-checkout__payment-methods,
.wp-block-woocommerce-checkout-payment-block [class*="wc-block-checkout__payment-methods"]{
    border:0!important;
    border-width:0!important;
    outline:none!important;
    box-shadow:none!important;
    background:transparent!important;
    margin:0!important;
    padding:0!important;
    min-width:0!important;
}
.wp-block-woocommerce-checkout-payment-block ul.wc-block-components-radio-control{
    border:0!important;
    box-shadow:none!important;
    outline:none!important;
}

/* ----- ADD A NOTE / collapsible sections ----- */
.wc-block-checkout__add-note .wc-block-components-checkout-step__content,
.wc-block-components-panel{
    border-top:0!important;
}
.wc-block-components-panel__button{
    background:transparent!important;
    color:#111827!important;
    padding:14px 0!important;
    border:0!important;
    font-weight:600!important;
    font-size:15px!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center;
    gap:8px;
    width:100%;
    justify-content:space-between;
}
.wc-block-components-panel__button:hover{background:transparent!important}

/* ----- TERMS TEXT ----- */
.wc-block-checkout__terms,
.wc-block-checkout__terms-notice,
.wc-block-components-checkout-return-to-cart-button + div{
    color:#6b7280;
    font-size:13.5px;
    line-height:1.55;
    margin:18px 0 10px;
    border-top:1px dashed #f3f4f6;
    padding-top:18px;
}
.wc-block-checkout__terms a,
.wc-block-checkout__terms-notice a{color:#ec4899;text-decoration:underline}

/* ----- BOTTOM ACTIONS ROW ----- */
.wc-block-checkout__actions,
.wc-block-checkout__actions_row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-top:18px;
    padding:0;
    background:transparent;
    border:0;
    flex-wrap:wrap;
}
.wc-block-components-checkout-return-to-cart-button{
    color:#6b7280!important;
    font-weight:600!important;
    text-decoration:none!important;
    background:transparent!important;
    padding:10px 8px!important;
    border:0!important;
    box-shadow:none!important;
    display:inline-flex!important;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    white-space:nowrap!important;
    line-height:1.25!important;
}
.wc-block-components-checkout-return-to-cart-button:hover{color:#ec4899!important}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
    flex:1 1 320px;
    max-width:420px;
    width:auto;
    margin-left:auto;
}

/* ----- SIDEBAR (order summary) -----
   One card wraps the WHOLE sidebar block. Individual totals-wrapper
   elements are transparent — they're just logical groups. */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block{
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:20px;
    padding:22px 24px 26px;
    box-shadow:0 1px 2px rgba(17,24,39,.03), 0 8px 24px -16px rgba(17,24,39,.08);
    margin:0 0 16px;
}
.wp-block-woocommerce-checkout-order-summary-block > *:first-child,
.wp-block-woocommerce-cart-order-summary-block > *:first-child{margin-top:0}

.wc-block-checkout__sidebar .wc-block-components-sidebar,
.wc-block-cart__sidebar .wc-block-components-sidebar{
    padding:0!important;
    background:transparent!important;
    border:0!important;
}
.wc-block-components-totals-wrapper{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
}
/* Thin divider between logical groups inside the sidebar card (same rhythm as totals rows) */
.wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper{
    border-top:1px solid #e8eaed!important;
    margin-top:0!important;
    padding-top:12px!important;
}
.wc-block-components-order-summary{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0 0 10px!important;
}
.wc-block-components-order-summary__content{padding:0}
.wc-block-components-order-summary .wc-block-components-panel__button{
    font-size:17px!important;
    font-weight:700!important;
    color:#111827!important;
    padding:0 0 12px!important;
    border-bottom:1px solid #e8eaed!important;
    margin-bottom:12px!important;
}

/* Sidebar block title (Детали заказа) */
.wp-block-woocommerce-checkout-order-summary-block > h2,
.wp-block-woocommerce-cart-order-summary-block > h2,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-title{
    font-size:clamp(16px,2.4vw,18px)!important;
    font-weight:700!important;
    color:#111827!important;
    margin:0 0 12px!important;
    padding:0 0 10px!important;
    border-bottom:1px solid #e8eaed!important;
    letter-spacing:-.015em!important;
}

/* Cart line items inside summary */
.wc-block-components-order-summary-item{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:6px 14px;
    align-items:start;
    padding:12px 0;
    border-bottom:1px solid #e8eaed;
}
.wc-block-components-order-summary-item:last-child{border-bottom:0}
/* Одна цена справа: скрываем дубль из «цена × кол-во» — итог остаётся в total-price */
.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices{
    display:none!important;
}
.wc-block-components-order-summary-item__image{
    grid-row:1 / span 2;
    width:56px;
    height:56px;
    border-radius:12px;
    overflow:hidden;
    background:#f9fafb;
    position:relative;
}
.wc-block-components-order-summary-item__image img{width:100%;height:100%;object-fit:cover;display:block}
.wc-block-components-order-summary-item__quantity{
    position:absolute;
    top:-6px;
    left:-6px;
    background:#111827;
    color:#fff;
    border-radius:9999px;
    min-width:20px;
    height:20px;
    padding:0 6px;
    font-size:11px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 0 0 2px #fff;
}
.wc-block-components-order-summary-item__description{
    grid-column:2;
    grid-row:1;
    font-size:14px;
    color:#374151;
    line-height:1.35;
}
.wc-block-components-order-summary-item__description a,
.wc-block-components-order-summary-item__description p{color:#111827!important;font-weight:600;text-decoration:none}
.wc-block-components-order-summary-item__total-price{
    grid-column:3;
    grid-row:1 / span 2;
    align-self:center;
    justify-self:end;
    font-size:14px;
    font-weight:700;
    color:#111827;
    white-space:nowrap;
    line-height:1.3;
}
/* Дубль суммы в колонке названия (если WC выводит цену в описании) */
.wc-block-components-order-summary-item__description .wc-block-components-product-price{
    display:none!important;
}
.wc-block-components-product-metadata{
    grid-column:2;
    grid-row:2;
    font-size:13px;
    color:#6b7280;
}

/* Coupon */
.wc-block-components-totals-coupon{
    border-top:1px solid #e8eaed;
    border-bottom:1px solid #e8eaed;
    padding:12px 0;
    margin:8px 0;
}
.wc-block-components-totals-coupon__button{
    color:#111827!important;
    background:transparent!important;
    border:0!important;
    padding:6px 2px!important;
    font-weight:600!important;
    font-size:14px!important;
    box-shadow:none!important;
}
.wc-block-components-totals-coupon__content{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding-top:10px;
}
.wc-block-components-totals-coupon__content .wc-block-components-text-input{flex:1 1 auto;margin:0}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button{
    height:56px;
    padding:0 22px!important;
    border-radius:14px!important;
    background:#111827!important;
    color:#fff!important;
    font-weight:700!important;
}

/* Totals rows */
.wc-block-components-totals-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:8px 0;
    font-size:15px;
    color:#374151;
    border-bottom:1px solid #e8eaed;
}
.wc-block-components-totals-item:last-child{border-bottom:0}
.wc-block-components-totals-item__label{color:#374151;font-weight:500}
.wc-block-components-totals-item__value{color:#111827;font-weight:600}
.wc-block-components-totals-item__description{
    flex-basis:100%;
    font-size:12.5px;
    color:#9ca3af;
    margin-top:2px;
}
.wc-block-components-totals-footer-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:4px!important;
    margin-top:4px;
    padding:12px 0 4px!important;
    border-top:1px solid #e8eaed!important;
    border-bottom:0!important;
    font-size:16px;
    width:100%!important;
    box-sizing:border-box!important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
    font-weight:700!important;
    color:#111827!important;
    font-size:16px!important;
    line-height:1.3!important;
    margin:0!important;
    justify-self:start!important;
    text-align:left!important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
    font-weight:800!important;
    color:#111827!important;
    font-size:18px!important;
    line-height:1.3!important;
    margin:0!important;
    justify-self:end!important;
    text-align:right!important;
    white-space:nowrap!important;
}
/* Some WC Blocks versions render the order total as a heading — override that */
.wc-block-components-totals-footer-item h1,
.wc-block-components-totals-footer-item h2,
.wc-block-components-totals-footer-item h3,
.wc-block-components-totals-footer-item h4{
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.3!important;
    margin:0!important;
    display:block!important;
    justify-self:start!important;
    text-align:left!important;
}

/* Select dropdowns (country etc.) */
.wc-block-components-select__container,
.wc-block-components-combobox__container{
    position:relative;
}
.wc-block-components-select__select{
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23111827' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;
    background-position:right 16px center!important;
    padding-right:40px!important;
}

/* Notices — ONLY style actual banners; empty wrapper must stay invisible */
.wc-block-components-notices{
    background:transparent!important;
    border:0!important;
    padding:0!important;
}
.wc-block-components-notices:empty{display:none!important}
.wc-block-components-notice-banner{
    border-radius:14px!important;
    border:1px solid #fecdd3!important;
    background:#fff1f2!important;
    color:#9f1239!important;
    padding:14px 16px!important;
    font-size:14px;
    margin:0 0 14px;
}
.wc-block-components-notice-banner.is-success{
    border-color:#bbf7d0!important;
    background:#f0fdf4!important;
    color:#166534!important;
}
.wc-block-components-notice-banner.is-info{
    border-color:#bfdbfe!important;
    background:#eff6ff!important;
    color:#1e40af!important;
}

/* Loading mask / skeleton backdrop must not inherit our card styling */
.wc-block-components-loading-mask{background:transparent!important}
.wc-block-components-loading-mask__screen-reader-text{border:0!important}
.is-loading{background:transparent!important}
.wc-block-components-form .wc-block-components-form__error-msg:empty,
.wc-block-components-validation-error:empty{display:none!important}

/* Kill any stray top/bottom pseudo-elements WC adds around sections */
.wc-block-components-checkout-step::before,
.wc-block-components-checkout-step::after,
.wc-block-components-sidebar-layout::before,
.wc-block-components-sidebar-layout::after,
.wc-block-components-totals-wrapper::before,
.wc-block-components-totals-wrapper::after{
    display:none!important;
    content:none!important;
}

/* Loading skeleton colors */
.wc-block-components-skeleton{
    background:linear-gradient(90deg,#f9fafb 0%,#f3f4f6 50%,#f9fafb 100%)!important;
    border-radius:8px;
}

/* ----- CART (block-based) ----- */
.wc-block-cart__main{min-width:0}
.wc-block-cart-items,
table.wc-block-cart-items{
    background:#fff;
    border:1px solid #f3f4f6;
    border-radius:20px;
    box-shadow:0 1px 2px rgba(17,24,39,.03), 0 8px 24px -16px rgba(17,24,39,.08);
    margin:0 0 16px;
    border-collapse:separate;
    border-spacing:0;
    width:100%;
    table-layout:auto;
    overflow:hidden;
}
.wc-block-cart-items thead{
    background:transparent;
}
.wc-block-cart-items thead th,
.wc-block-cart-items__header{
    font-size:12px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#9ca3af;
    border:0!important;
    padding:18px 24px 10px!important;
    background:transparent!important;
    text-align:left;
}
.wc-block-cart-items thead th.wc-block-cart-items__header-image{padding-left:24px!important;width:120px}
.wc-block-cart-items thead th.wc-block-cart-items__header-total{text-align:right;padding-right:24px!important;width:140px}

.wc-block-cart-items__row,
tr.wc-block-cart-items__row{
    display:table-row!important;
    border-top:1px dashed #f3f4f6;
}
.wc-block-cart-items__row > td,
tr.wc-block-cart-items__row > td{
    padding:18px 12px!important;
    vertical-align:top!important;
    border:0!important;
    border-top:1px dashed #f3f4f6!important;
}
.wc-block-cart-items__row:first-of-type > td{border-top:0!important}
.wc-block-cart-item__image{
    width:104px!important;
    padding-left:24px!important;
    padding-right:4px!important;
}
.wc-block-cart-item__image a,
.wc-block-cart-item__image img{
    display:block;
    width:88px!important;
    height:88px!important;
    object-fit:cover;
    border-radius:14px;
    background:#f9fafb;
}
.wc-block-cart-item__product{
    width:auto;
    min-width:0;
}
.wc-block-cart-item__product .wc-block-components-product-name,
.wc-block-cart-item__product a.wc-block-components-product-name{
    display:block;
    font-weight:700!important;
    font-size:15.5px!important;
    color:#111827!important;
    text-decoration:none!important;
    line-height:1.35;
    margin-bottom:4px;
}
.wc-block-cart-item__product .wc-block-components-product-price,
.wc-block-cart-item__prices{
    font-size:14.5px;
    color:#374151;
    font-weight:600;
}
.wc-block-components-product-metadata{
    font-size:13px;
    color:#6b7280;
    margin-top:4px;
}
.wc-block-cart-item__total{
    font-size:15.5px;
    font-weight:700;
    color:#111827;
}
@media(min-width:900px){
    .wc-block-cart-item__total{
        width:140px!important;
        text-align:right!important;
        padding-right:24px!important;
        white-space:nowrap;
    }
}
.wc-block-cart-item__quantity{margin-top:12px}

/* Quantity selector in cart */
.wc-block-components-quantity-selector{
    display:inline-flex;
    align-items:stretch;
    border:1.5px solid #e5e7eb;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    height:40px;
}
.wc-block-components-quantity-selector input{
    width:44px!important;
    border:0!important;
    text-align:center!important;
    font-size:14px!important;
    font-weight:700!important;
    background:transparent!important;
    padding:0!important;
    -moz-appearance:textfield;
    box-shadow:none!important;
    height:100%!important;
}
.wc-block-components-quantity-selector input::-webkit-outer-spin-button,
.wc-block-components-quantity-selector input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.wc-block-components-quantity-selector__button{
    background:transparent!important;
    color:#111827!important;
    border:0!important;
    width:36px;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1!important;
    box-shadow:none!important;
    padding:0!important;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
}
.wc-block-components-quantity-selector__button:hover{background:#fdf2f8!important;color:#ec4899!important}
.wc-block-components-quantity-selector__button:disabled{color:#d1d5db!important;cursor:not-allowed}

/* Remove-item button (trash) */
.wc-block-cart-item__remove-link{
    margin-left:10px;
    color:#9ca3af!important;
    font-size:13px!important;
    text-decoration:underline;
    background:transparent!important;
    padding:0!important;
}
.wc-block-cart-item__remove-link:hover{color:#ef4444!important}

/* Cart totals / proceed */
.wc-block-cart__totals-title{
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#9ca3af;
    margin:0 0 8px;
}
.wc-block-cart__submit-container,
.wc-block-cart__payment-options{margin-top:16px}
.wc-proceed-to-checkout{margin-top:10px}

/* Return-to-cart: SVG WC рисует стрелку «вверху» viewBox — сдвигаем вниз относительно кап-высоты текста */
.wc-block-components-checkout-return-to-cart-button{
    align-items:center!important;
}
.wc-block-components-checkout-return-to-cart-button svg{
    display:block!important;
    flex-shrink:0!important;
    align-self:center!important;
    position:relative!important;
    top:0!important;
    width:1em!important;
    height:1em!important;
    margin:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    transform:translateY(calc(0.2em + 1px))!important;
}
.wc-block-components-checkout-return-to-cart-button .wc-block-components-button__text{
    display:inline-flex!important;
    align-items:center!important;
    line-height:1.25!important;
    padding-top:0.02em!important;
}
.wc-block-components-checkout-return-to-cart-button::before,
.wc-block-components-checkout-return-to-cart-button::after{
    display:inline-block;
    background:transparent!important;
    border:0!important;
}

/* ----- MOBILE ----- */
@media(max-width:899px){
    .wp-block-woocommerce-checkout,
    .wp-block-woocommerce-cart{padding:4px 0 24px}
    .wc-block-components-checkout-step{
        padding:18px 16px;
        border-radius:16px;
    }
    .wp-block-woocommerce-checkout-contact-information-block,
    .wp-block-woocommerce-checkout-shipping-address-block,
    .wp-block-woocommerce-checkout-billing-address-block,
    .wp-block-woocommerce-checkout-shipping-method-block,
    .wp-block-woocommerce-checkout-pickup-options-block,
    .wp-block-woocommerce-checkout-payment-block,
    .wp-block-woocommerce-checkout-additional-information-block,
    .wp-block-woocommerce-checkout-order-note-block{
        padding:18px 16px;
        border-radius:16px;
    }
    /* Сводка заказа живёт внутри уже «карточки» сайдбара — отдельный padding ломает мобильную вёрстку */
    .wp-block-woocommerce-checkout-order-summary-block,
    .wp-block-woocommerce-cart-order-summary-block{
        padding:0!important;
        border-radius:0!important;
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
    }
    /* Таблица → карточки строк: цена «Итого» внутри сетки, не в узкой колонке у края */
    table.wc-block-cart-items{
        display:block!important;
        width:100%!important;
        border-collapse:separate!important;
        border-spacing:0!important;
        background:transparent!important;
        border-radius:0!important;
        overflow:visible!important;
    }
    .wc-block-cart-items thead{display:none!important}
    .wc-block-cart-items tbody{display:block!important;width:100%!important}
    tr.wc-block-cart-items__row{
        display:grid!important;
        grid-template-columns:minmax(56px,72px) minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        column-gap:12px!important;
        row-gap:10px!important;
        align-items:start!important;
        padding:14px 16px!important;
        margin:0 0 12px!important;
        background:#fff!important;
        border:1px solid #f3f4f6!important;
        border-radius:16px!important;
        box-sizing:border-box!important;
    }
    tr.wc-block-cart-items__row > td{
        display:block!important;
        width:auto!important;
        max-width:100%!important;
        padding:0!important;
        border:0!important;
        border-top:0!important;
        box-sizing:border-box!important;
    }
    tr.wc-block-cart-items__row:first-of-type > td{border-top:0!important}
    td.wc-block-cart-item__image{
        grid-column:1!important;
        grid-row:1 / span 2!important;
        padding:0!important;
        width:auto!important;
        align-self:start!important;
    }
    td.wc-block-cart-item__image a,
    td.wc-block-cart-item__image img{width:56px!important;height:56px!important}
    td.wc-block-cart-item__product{
        grid-column:2!important;
        grid-row:1!important;
        min-width:0!important;
    }
    td.wc-block-cart-item__total{
        grid-column:2!important;
        grid-row:2!important;
        text-align:left!important;
        padding:0!important;
        width:100%!important;
        max-width:100%!important;
        white-space:normal!important;
        font-size:15px!important;
    }
    .wp-block-woocommerce-cart td.wc-block-cart-item__total{
        text-align:left!important;
        white-space:normal!important;
        width:100%!important;
        max-width:100%!important;
    }
    /* Дубль цены: блок цены в ячейке товара скрыт — строковый итог только в .wc-block-cart-item__total */
    table.wc-block-cart-items tr.wc-block-cart-items__row > td.wc-block-cart-item__product .wc-block-cart-item__prices{
        display:none!important;
    }
    .wc-block-components-address-form{grid-template-columns:1fr}
    .wc-block-components-address-form > *{grid-column:1 / -1!important}
    .wp-block-woocommerce-checkout-actions-block:not(.kl-actions-relocated) .wc-block-checkout__actions_row{flex-direction:column-reverse;align-items:stretch}
    .wp-block-woocommerce-checkout-actions-block:not(.kl-actions-relocated) .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
        flex:1 1 100%;
        max-width:none;
        width:100%;
        margin-left:0;
        min-height:52px!important;
        padding:14px 22px!important;
        font-size:16px!important;
    }
    .wp-block-woocommerce-checkout-actions-block:not(.kl-actions-relocated) .wc-block-components-checkout-return-to-cart-button{justify-content:center}
}


/* =========================================================
   FINAL: white-card wrappers around the two content columns.
   Different WC Blocks versions name the column wrappers
   differently (.wc-block-cart__main / .wc-block-checkout__main
   vs .wc-block-components-main, etc). We simply target the
   two direct children of .wc-block-components-sidebar-layout —
   that selector is stable across versions.
   ========================================================= */

/* Make sure the grid container itself is full-width and uses
   the desired two-column template on desktop, stacked on mobile. */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    width:100%!important;
    max-width:none!important;
}
@media(min-width:900px){
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
        gap:32px!important;
        align-items:start!important;
    }
}
@media(max-width:899px){
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
        display:flex!important;
        flex-direction:column!important;
        gap:18px!important;
    }
    /* Оформление: на мобилке сначала «Детали заказа», затем форма */
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :first-child{
        order:2!important;
    }
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :last-child{
        order:1!important;
    }
}

/* The two columns — full width of their grid cell, no intrinsic
   max-width, allow contents to shrink inside. */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > *,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > *{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:1 1 auto!important;
    background:#fff!important;
    border:1px solid #e8eaed!important;
    border-radius:var(--kl-co-radius-lg,20px)!important;
    padding:24px 26px!important;
    margin:0!important;
    box-shadow:var(--kl-co-shadow,0 1px 2px rgba(17,24,39,.04),0 12px 40px -24px rgba(17,24,39,.14))!important;
    box-sizing:border-box!important;
}

/* Sticky sidebar on desktop */
@media(min-width:900px){
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > :last-child,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :last-child{
        position:sticky;
        top:clamp(72px,10vh,104px);
        align-self:start;
    }
}

/* Flatten nested cards inside the new wrappers so we never get
   "card-in-card" visuals. */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > * .wc-block-cart-items,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > * table.wc-block-cart-items,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > * .wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > * .wp-block-woocommerce-cart-line-items-block,
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > * .wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-pickup-options-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-additional-information-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * .wp-block-woocommerce-checkout-order-note-block{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
}

/* Separator between checkout steps inside the main card */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > [class*="wp-block-woocommerce-checkout-"][class*="-block"]{
    margin:0 0 18px!important;
    padding-top:18px!important;
    border-top:1px solid #eceef2!important;
}
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > [class*="wp-block-woocommerce-checkout-"][class*="-block"]:first-child,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > .wp-block-woocommerce-checkout-contact-information-block{
    border-top:0!important;
    padding-top:0!important;
}

/* Mobile — comfortable tap targets + air */
@media(max-width:899px){
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > *,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > *{
        padding:18px 16px!important;
        border-radius:var(--kl-co-radius,16px)!important;
    }
}

/* Воздух между адресом доставки и блоком параметров доставки */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > .wp-block-woocommerce-checkout-shipping-address-block + .wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > .wp-block-woocommerce-checkout-shipping-address-block + .wp-block-woocommerce-checkout-shipping-method-block{
    margin-top:6px!important;
    padding-top:28px!important;
}

/* Extra space between shipping options and «Способы оплаты» */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > .wp-block-woocommerce-checkout-shipping-methods-block + .wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > .wp-block-woocommerce-checkout-shipping-method-block + .wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > .wp-block-woocommerce-checkout-pickup-options-block + .wp-block-woocommerce-checkout-payment-block{
    margin-top:44px!important;
}


/* =========================================================
   KISSLOROD — CART & CHECKOUT REDESIGN (final, clean)
   Scope: WooCommerce Blocks (.wp-block-woocommerce-cart
   and .wp-block-woocommerce-checkout).
   Everything below intentionally overrides legacy rules
   defined earlier in this file — keep it last.
   ========================================================= */
:is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout){
    --kl:#ec4899;
    --kl-soft:#fdf2f8;
    --kl-ink:#0f172a;
    --kl-muted:#6b7280;
    --kl-subtle:#9ca3af;
    --kl-line:#ececec;
    --kl-line-soft:#f3f4f6;
    --kl-field:#fff;
    --kl-field-border:#e5e7eb;
    --kl-card:#fff;
    --kl-r-card:20px;
    --kl-r-card-sm:16px;
    --kl-r-input:12px;
    --kl-shadow:0 1px 2px rgba(15,23,42,.04), 0 18px 42px -24px rgba(15,23,42,.15);
    --kl-ring:0 0 0 4px rgba(236,72,153,.18);
    color:var(--kl-ink);
}

/* ---- Container & page title ---- */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
    max-width:1240px;
    margin:0 auto!important;
    padding:4px 0 48px!important;
    box-sizing:border-box;
}
.wp-block-woocommerce-cart h1.entry-title,
.wp-block-woocommerce-checkout h1.entry-title,
.woocommerce-checkout .entry-header .entry-title{
    font-size:clamp(24px,3vw,32px)!important;
    font-weight:700!important;
    letter-spacing:-.02em!important;
    color:var(--kl-ink)!important;
    margin:0 0 18px!important;
}

/* ---- Two-column layout ---- */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    align-items:start!important;
}
@media(min-width:900px){
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
        grid-template-columns:minmax(0,1fr) 360px!important;
        gap:28px!important;
    }
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > :last-child,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :last-child{
        position:sticky;
        top:96px;
        align-self:start;
    }
}

/* ---- Main white cards (main & sidebar columns) ----
   Support both DOM variants of WC Blocks:
   A) `.wc-block-(cart|checkout)__main` + `__sidebar`
   B) Direct children of `.wc-block-components-sidebar-layout`
*/
/* Main column card */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > :first-child,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :first-child,
.wc-block-cart__main,
.wc-block-checkout__main{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    background:var(--kl-card,#fff)!important;
    border:1px solid var(--kl-line,#ececec)!important;
    border-radius:var(--kl-r-card,20px)!important;
    box-shadow:var(--kl-shadow,0 1px 2px rgba(15,23,42,.04),0 18px 42px -24px rgba(15,23,42,.15))!important;
    padding:24px!important;
    margin:0!important;
    box-sizing:border-box!important;
}
/* Sidebar card: меньше padding сверху — заголовок «Детали заказа» ближе к рамке */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout > :last-child,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :last-child,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    background:var(--kl-card,#fff)!important;
    border:1px solid var(--kl-line,#ececec)!important;
    border-radius:var(--kl-r-card,20px)!important;
    box-shadow:var(--kl-shadow,0 1px 2px rgba(15,23,42,.04),0 18px 42px -24px rgba(15,23,42,.15))!important;
    padding:10px 24px 24px!important;
    margin:0!important;
    box-sizing:border-box!important;
}
@media(max-width:899px){
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > :first-child,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :first-child,
    .wc-block-cart__main,
    .wc-block-checkout__main{
        padding:18px!important;
        border-radius:var(--kl-r-card-sm,16px)!important;
    }
    .wp-block-woocommerce-cart .wc-block-components-sidebar-layout > :last-child,
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :last-child,
    .wc-block-cart__sidebar,
    .wc-block-checkout__sidebar{
        padding:8px 18px 18px!important;
        border-radius:var(--kl-r-card-sm,16px)!important;
    }
    /* На мобилке на чекауте показываем сводку сверху */
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :first-child{order:2}
    .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > :last-child{order:1}
}

/* ---- Flatten nested WC blocks INSIDE the two cards, but never the
   direct children of the sidebar layout itself (они и есть карточки). */
.wc-block-cart__main .wp-block-woocommerce-cart-items-block,
.wc-block-cart__main .wp-block-woocommerce-cart-line-items-block,
.wc-block-cart__main .wp-block-woocommerce-filled-cart-block,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block,
.wc-block-checkout__main > [class*="wp-block-woocommerce-checkout-"],
.wc-block-checkout__sidebar > [class*="wp-block-woocommerce-checkout-"],
.wc-block-components-sidebar-layout > * .wc-block-components-sidebar,
.wc-block-components-sidebar-layout > * > .wc-block-components-totals-wrapper{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
}

/* ---- Step dividers between checkout sections ---- */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > [class*="wp-block-woocommerce-checkout-"][class*="-block"]{
    margin:20px 0 0!important;
    padding:20px 0 0!important;
    border-top:1px solid var(--kl-line-soft)!important;
}
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > [class*="wp-block-woocommerce-checkout-"][class*="-block"]:first-child,
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout > * > .wp-block-woocommerce-checkout-contact-information-block{
    margin-top:0!important;
    padding-top:0!important;
    border-top:0!important;
}

/* ---- Step titles (Контактная информация, Адрес доставки, Детали заказа, …) ---- */
.wc-block-components-checkout-step,
.wc-block-components-checkout-step__container{padding:0!important;margin:0!important;background:transparent!important}
.wc-block-components-checkout-step::before,
.wc-block-components-checkout-step::after{display:none!important;content:none!important}
.wc-block-components-checkout-step__heading{
    margin:0 0 12px!important;
    padding:0 0 10px!important;
    border-bottom:1px solid var(--kl-line-soft)!important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__heading h1,
.wc-block-components-checkout-step__heading h2,
.wc-block-components-checkout-step__heading h3,
.wp-block-woocommerce-checkout-order-summary-block > h2,
.wp-block-woocommerce-cart-order-summary-block > h2{
    font-size:clamp(16px,2.2vw,18px)!important;
    font-weight:700!important;
    letter-spacing:-.015em!important;
    color:var(--kl-ink)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    text-transform:none!important;
}
.wc-block-components-checkout-step__description{
    color:var(--kl-muted)!important;
    font-size:13.5px!important;
    margin:-4px 0 12px!important;
}
.wc-block-components-checkout-step__description:empty{display:none!important}

/* ---- Inputs & selects (floating label style from WC Blocks) ---- */
.wc-block-components-text-input,
.wc-block-components-address-form .wc-block-components-text-input,
.wc-block-components-select,
.wc-block-components-combobox{margin:0 0 12px!important}
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select,
.wc-block-components-combobox input{
    width:100%!important;
    height:54px!important;
    border:1.5px solid var(--kl-field-border)!important;
    border-radius:var(--kl-r-input)!important;
    padding:18px 14px 6px!important;
    font-size:15px!important;
    color:var(--kl-ink)!important;
    background:var(--kl-field)!important;
    box-shadow:none!important;
    transition:border-color .15s ease, box-shadow .15s ease;
    box-sizing:border-box;
}
.wc-block-components-text-input textarea{height:auto!important;min-height:110px!important;padding-top:22px!important}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus{
    border-color:var(--kl)!important;
    outline:none!important;
    box-shadow:var(--kl-ring)!important;
}
.wc-block-components-text-input label,
.wc-block-components-checkout-step .wc-block-components-text-input label{
    color:var(--kl-muted)!important;
    font-size:14px!important;
    font-weight:500!important;
}
.wc-block-components-text-input.is-active label{
    color:var(--kl)!important;
    font-size:12px!important;
}
.wc-block-components-validation-error{color:#dc2626!important;font-size:12.5px!important;margin:4px 0 0!important}

/* Select chevron */
.wc-block-components-select__select{
    appearance:none!important;
    -webkit-appearance:none!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230f172a' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;
    background-position:right 16px center!important;
    padding-right:40px!important;
}

/* Address grid on desktop */
.wc-block-components-address-form{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 12px!important;
}
.wc-block-components-address-form > *{grid-column:1 / -1!important;min-width:0}
.wc-block-components-address-form > #shipping-city,
.wc-block-components-address-form > #shipping-postcode,
.wc-block-components-address-form > #billing-city,
.wc-block-components-address-form > #billing-postcode{grid-column:auto!important}
@media(max-width:599px){
    .wc-block-components-address-form{grid-template-columns:1fr!important}
    .wc-block-components-address-form > *{grid-column:1 / -1!important}
}

/* Saved address card */
.wc-block-components-address-card{
    background:#fafafa!important;
    border:1px solid var(--kl-line)!important;
    border-radius:14px!important;
    padding:14px 16px!important;
    display:flex!important;
    gap:12px!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
}
.wc-block-components-address-card address{
    font-style:normal!important;
    font-size:14px!important;
    line-height:1.55!important;
    color:#374151!important;
    flex:1 1 auto!important;
    min-width:0!important;
}
.wc-block-components-address-card__edit{
    color:var(--kl-muted)!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
    text-decoration:underline!important;
    font-size:13px!important;
    font-weight:600!important;
    box-shadow:none!important;
}
.wc-block-components-address-card__edit:hover{color:var(--kl)!important}

/* ---- Checkboxes & Radios (native, restyled) ---- */
.wc-block-components-checkbox,
label.wc-block-components-checkbox{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:14px 0 0!important;
    cursor:pointer;
}
.wc-block-components-checkbox input[type="checkbox"]{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    border:1.5px solid var(--kl-field-border)!important;
    border-radius:6px!important;
    background:var(--kl-field)!important;
    margin:0!important;
    cursor:pointer;
    flex:0 0 auto;
    transition:border-color .15s ease, background .15s ease;
}
.wc-block-components-checkbox input[type="checkbox"]:checked{
    background:var(--kl) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 7l3 3 5-6' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat!important;
    border-color:var(--kl)!important;
}
.wc-block-components-checkbox svg.wc-block-components-checkbox__mark{display:none!important}
.wc-block-components-checkbox__label,
.wc-block-components-checkbox > span{
    font-size:14px!important;
    color:#374151!important;
    line-height:1.5!important;
}

/* Radio groups */
.wc-block-components-radio-control{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
}
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option,
label.wc-block-components-radio-control__option{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    border:1px solid var(--kl-line)!important;
    border-radius:12px!important;
    padding:12px 14px!important;
    margin:0!important;
    background:#fff!important;
    min-height:0!important;
    width:100%!important;
    box-sizing:border-box!important;
    cursor:pointer;
    transition:border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.wc-block-components-radio-control__option:hover{border-color:#fbcfe8!important}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option[aria-checked="true"],
.wc-block-components-radio-control__option:has(input:checked){
    border-color:var(--kl)!important;
    background:var(--kl-soft)!important;
    box-shadow:inset 0 0 0 1px var(--kl)!important;
}
.wc-block-components-radio-control__input,
.wc-block-components-radio-control__option input[type="radio"]{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    border:1.5px solid #d1d5db!important;
    border-radius:50%!important;
    background:#fff!important;
    margin:0!important;
    flex:0 0 auto!important;
    align-self:center!important;
    cursor:pointer;
    box-shadow:none!important;
    transition:border-color .15s ease, background .15s ease;
}
.wc-block-components-radio-control__input:checked,
.wc-block-components-radio-control__option input[type="radio"]:checked{
    border-color:var(--kl)!important;
    background:radial-gradient(circle, var(--kl) 0 5px, #fff 6px 100%)!important;
}
.wc-block-components-radio-control__input:focus-visible{
    outline:none;
    box-shadow:var(--kl-ring)!important;
}

.wc-block-components-radio-control__option-layout{
    flex:1 1 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px 16px!important;
    flex-wrap:nowrap!important;
    min-width:0!important;
}
.wc-block-components-radio-control__label{
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.35!important;
    color:var(--kl-ink)!important;
    text-align:left!important;
    min-width:0!important;
    flex:1 1 auto!important;
    padding-inline-end:6px!important;
    white-space:normal!important;
}
.wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__description{
    color:var(--kl-muted)!important;
    font-size:12.5px!important;
    font-weight:600!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
}
.wc-block-components-radio-control__option-checked .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option[aria-checked="true"] .wc-block-components-radio-control__secondary-label,
.wc-block-components-radio-control__option:has(input:checked) .wc-block-components-radio-control__secondary-label{
    color:var(--kl)!important;
}

/* Accordion payment content — только label «карточка», не внешний li (иначе двойная рамка) */
.wc-block-components-radio-control-accordion-option{
    flex-wrap:wrap!important;
    align-items:stretch!important;
    border:0!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    min-height:0!important;
}
.wc-block-components-radio-control-accordion-option > label{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
}
.wc-block-components-radio-control-accordion-content{
    width:100%!important;
    flex-basis:100%!important;
    padding:10px 0 2px 32px!important;
    margin:10px -14px 0!important;
    padding-left:46px!important;
    padding-right:14px!important;
    border-top:1px dashed var(--kl-line)!important;
    color:var(--kl-muted)!important;
    font-size:13.5px!important;
    line-height:1.55!important;
}
.wc-block-components-radio-control-accordion-content:empty{display:none!important}

/* ---- Notices ---- */
.wc-block-components-notices{background:transparent!important;border:0!important;padding:0!important;margin:0 0 14px!important}
.wc-block-components-notices:empty{display:none!important}
.wc-block-components-notice-banner{
    border-radius:12px!important;
    border:1px solid var(--kl-line)!important;
    background:#fff!important;
    padding:12px 14px!important;
    font-size:14px!important;
    color:var(--kl-ink)!important;
}

/* ---- Order summary (right sidebar) ---- */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-order-summary-block{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
}
.wp-block-woocommerce-checkout-order-summary-block > h2,
.wp-block-woocommerce-cart-order-summary-block > h2{
    margin:0 0 12px!important;
    padding:0 0 10px!important;
    border-bottom:1px solid var(--kl-line-soft)!important;
}

/* Line items */
.wc-block-components-order-summary{margin:0 0 8px!important}
.wc-block-components-order-summary__content{padding:0!important}
.wc-block-components-order-summary-item{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:4px 14px!important;
    align-items:start!important;
    padding:12px 0!important;
    border-bottom:1px solid var(--kl-line-soft)!important;
}
.wc-block-components-order-summary-item:last-child{border-bottom:0!important}
.wc-block-components-order-summary-item__image{
    grid-row:1 / span 2!important;
    width:56px!important;
    height:56px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#f9fafb!important;
    position:relative!important;
}
.wc-block-components-order-summary-item__image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.wc-block-components-order-summary-item__quantity{
    position:absolute!important;
    top:-6px!important;
    left:-6px!important;
    background:var(--kl-ink)!important;
    color:#fff!important;
    border-radius:9999px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 6px!important;
    font-size:11px!important;
    font-weight:700!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:0 0 0 2px #fff!important;
}
.wc-block-components-order-summary-item__description{
    grid-column:2!important;
    grid-row:1!important;
    font-size:14px!important;
    line-height:1.35!important;
    color:#374151!important;
    min-width:0!important;
}
.wc-block-components-order-summary-item__description a,
.wc-block-components-order-summary-item__description p{
    color:var(--kl-ink)!important;
    font-weight:600!important;
    text-decoration:none!important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-price{display:none!important}
.wc-block-components-order-summary-item__total-price{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    align-self:center!important;
    justify-self:end!important;
    font-size:14px!important;
    font-weight:700!important;
    color:var(--kl-ink)!important;
    white-space:nowrap!important;
}
.wc-block-components-order-summary-item__individual-prices{display:none!important}
.wc-block-components-product-metadata{
    grid-column:2!important;
    grid-row:2!important;
    font-size:12.5px!important;
    color:var(--kl-muted)!important;
    line-height:1.45!important;
}

/* Coupon panel */
.wc-block-components-totals-coupon{
    border-top:1px solid var(--kl-line-soft)!important;
    border-bottom:1px solid var(--kl-line-soft)!important;
    padding:10px 0!important;
    margin:6px 0!important;
}
.wc-block-components-totals-coupon__button{
    background:transparent!important;
    color:var(--kl-ink)!important;
    border:0!important;
    padding:4px 0!important;
    font-weight:600!important;
    font-size:14px!important;
    box-shadow:none!important;
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.wc-block-components-totals-coupon__content{
    display:flex!important;
    gap:10px!important;
    align-items:flex-start!important;
    padding-top:10px!important;
}
.wc-block-components-totals-coupon__content .wc-block-components-text-input{flex:1 1 auto!important;margin:0!important}
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button{
    height:54px!important;
    padding:0 18px!important;
    border-radius:12px!important;
    background:var(--kl-ink)!important;
    color:#fff!important;
    font-weight:700!important;
    font-size:14px!important;
    white-space:nowrap!important;
}

/* Totals rows */
.wc-block-components-totals-item{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:12px!important;
    padding:8px 0!important;
    font-size:14.5px!important;
    color:#374151!important;
    border:0!important;
}
.wc-block-components-totals-item__label{color:#374151!important;font-weight:500!important;margin:0!important}
.wc-block-components-totals-item__value{color:var(--kl-ink)!important;font-weight:700!important;margin:0!important;white-space:nowrap}
.wc-block-components-totals-item__description{
    flex-basis:100%!important;
    font-size:12.5px!important;
    color:var(--kl-subtle)!important;
    margin:2px 0 0!important;
}

/* Order total row */
.wc-block-components-totals-footer-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:baseline!important;
    column-gap:12px!important;
    margin:8px 0 0!important;
    padding:12px 0 0!important;
    border-top:1px solid var(--kl-line)!important;
    font-size:16px!important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
    font-weight:700!important;
    color:var(--kl-ink)!important;
    font-size:15px!important;
    justify-self:start!important;
    text-align:left!important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
    font-weight:800!important;
    color:var(--kl-ink)!important;
    font-size:18px!important;
    justify-self:end!important;
    text-align:right!important;
}
.wc-block-components-totals-footer-item h1,
.wc-block-components-totals-footer-item h2,
.wc-block-components-totals-footer-item h3,
.wc-block-components-totals-footer-item h4{
    font-size:15px!important;
    font-weight:700!important;
    line-height:1.3!important;
    margin:0!important;
    color:var(--kl-ink)!important;
    letter-spacing:-.01em!important;
}

/* Between logical totals groups */
.wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper{
    border-top:1px solid var(--kl-line-soft)!important;
    margin-top:0!important;
    padding-top:10px!important;
}

/* Cart: items table */
.wp-block-woocommerce-cart .wc-block-cart-items{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    margin:0!important;
    width:100%!important;
    border-collapse:collapse!important;
}
.wp-block-woocommerce-cart .wc-block-cart-items thead th{
    font-size:11.5px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    color:var(--kl-subtle)!important;
    /* Горизонтальный отступ обязателен: карточка со скруглением + overflow режет первые/последние буквы */
    padding:8px 18px 12px!important;
    border-bottom:1px solid var(--kl-line-soft)!important;
    background:transparent!important;
    text-align:left!important;
}
.wp-block-woocommerce-cart .wc-block-cart-items thead th.wc-block-cart-items__header-total{text-align:right!important}
.wp-block-woocommerce-cart .wc-block-cart-items tbody tr{
    border-bottom:1px solid var(--kl-line-soft)!important;
}
.wp-block-woocommerce-cart .wc-block-cart-items tbody tr:last-child{border-bottom:0!important}
.wp-block-woocommerce-cart .wc-block-cart-items td{
    padding:16px 12px!important;
    vertical-align:top!important;
    background:transparent!important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__image{width:96px!important;padding-left:0!important}
.wp-block-woocommerce-cart .wc-block-cart-item__image img,
.wp-block-woocommerce-cart .wc-block-cart-item__image a{
    width:80px!important;
    height:80px!important;
    object-fit:cover!important;
    border-radius:14px!important;
    display:block!important;
    background:#f9fafb!important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__product{padding-top:4px!important}
.wp-block-woocommerce-cart .wc-block-cart-item__product a,
.wp-block-woocommerce-cart .wc-block-components-product-name{
    font-weight:600!important;
    color:var(--kl-ink)!important;
    font-size:15px!important;
    text-decoration:none!important;
}
.wp-block-woocommerce-cart .wc-block-components-product-price,
.wp-block-woocommerce-cart .wc-block-cart-item__prices{
    font-size:14px!important;
    color:#374151!important;
    font-weight:600!important;
    margin-top:2px!important;
}
.wp-block-woocommerce-cart .wc-block-components-product-metadata{
    margin-top:6px!important;
    font-size:12.5px!important;
    color:var(--kl-muted)!important;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total{
    padding-right:0!important;
    text-align:right!important;
    white-space:nowrap!important;
    font-weight:700!important;
    color:var(--kl-ink)!important;
    font-size:15px!important;
}
@media(min-width:900px){
    .wp-block-woocommerce-cart .wc-block-cart-item__total{
        width:120px!important;
    }
}
.wp-block-woocommerce-cart .wc-block-cart-item__quantity{margin-top:10px!important}

/* Quantity selector */
.wc-block-components-quantity-selector{
    display:inline-flex!important;
    align-items:stretch!important;
    border:1.5px solid var(--kl-field-border)!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fff!important;
    height:40px!important;
    width:auto!important;
    padding:0!important;
}
.wc-block-components-quantity-selector input{
    width:44px!important;
    border:0!important;
    text-align:center!important;
    font-weight:700!important;
    font-size:14px!important;
    background:transparent!important;
    padding:0!important;
    height:100%!important;
    box-shadow:none!important;
}
.wc-block-components-quantity-selector__button{
    background:transparent!important;
    color:#111827!important;
    border:0!important;
    width:36px!important;
    padding:0!important;
    font-size:18px!important;
    font-weight:800!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
}
.wc-block-components-quantity-selector__button:hover{background:var(--kl-soft)!important;color:var(--kl)!important}
.wc-block-components-quantity-selector__button:disabled{color:#d1d5db!important;cursor:not-allowed}

.wc-block-cart-item__remove-link{
    color:var(--kl-subtle)!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
    text-decoration:underline!important;
    font-size:12.5px!important;
    margin-left:10px!important;
}
.wc-block-cart-item__remove-link:hover{color:#ef4444!important}

/* Cart sidebar header */
.wc-block-cart__totals-title{
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
    color:var(--kl-subtle)!important;
    margin:0 0 10px!important;
}
.wc-block-cart__submit-container,
.wc-block-cart__payment-options{margin-top:14px!important}
.wc-proceed-to-checkout{margin-top:10px!important}

/* ---- Primary action buttons (checkout / proceed) ---- */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-proceed-to-checkout a,
.wc-proceed-to-checkout button{
    width:100%!important;
    min-height:54px!important;
    padding:14px 22px!important;
    border-radius:9999px!important;
    background:var(--kl-ink)!important;
    color:#fff!important;
    font-weight:700!important;
    font-size:15px!important;
    border:0!important;
    box-shadow:0 1px 2px rgba(15,23,42,.06), 0 10px 24px -12px rgba(15,23,42,.28)!important;
    transition:background .15s ease, transform .05s ease, box-shadow .15s ease!important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-proceed-to-checkout a:hover,
.wc-proceed-to-checkout button:hover{
    background:#1f2937!important;
    box-shadow:0 2px 4px rgba(15,23,42,.08), 0 16px 32px -14px rgba(15,23,42,.35)!important;
}
.wc-block-components-checkout-place-order-button:active,
.wc-block-cart__submit-button:active,
.wc-proceed-to-checkout a:active,
.wc-proceed-to-checkout button:active{transform:translateY(1px)}

/* Return-to-cart link on checkout */
.wc-block-components-checkout-return-to-cart-button{
    color:var(--kl-muted)!important;
    background:transparent!important;
    border:0!important;
    padding:10px 4px!important;
    font-weight:600!important;
    box-shadow:none!important;
    text-decoration:none!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    white-space:nowrap!important;
    line-height:1.25!important;
}
.wc-block-components-checkout-return-to-cart-button:hover{color:var(--kl)!important}

/* Actions row */
.wc-block-checkout__actions,
.wc-block-checkout__actions_row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin-top:18px!important;
}
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
    flex:1 1 280px!important;
    max-width:420px!important;
    width:auto!important;
    margin-left:auto!important;
}
@media(max-width:599px){
    .wc-block-checkout__actions_row{flex-direction:column-reverse!important;align-items:stretch!important}
    .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{flex:1 1 100%!important;max-width:none!important;margin-left:0!important}
    .wc-block-components-checkout-return-to-cart-button{justify-content:center!important}
}

/* Terms text */
.wc-block-checkout__terms,
.wc-block-checkout__terms-notice{
    color:var(--kl-muted)!important;
    font-size:13px!important;
    line-height:1.55!important;
    margin:16px 0 0!important;
    border-top:1px dashed var(--kl-line-soft)!important;
    padding-top:14px!important;
}
.wc-block-checkout__terms a,
.wc-block-checkout__terms-notice a{color:var(--kl)!important;text-decoration:underline!important}

/* Panel / "Add a note" */
.wc-block-checkout__add-note .wc-block-components-checkout-step__content{border-top:0!important}
.wc-block-components-panel__button{
    background:transparent!important;
    color:var(--kl-ink)!important;
    padding:12px 0!important;
    border:0!important;
    font-weight:600!important;
    font-size:14.5px!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
}
.wc-block-components-panel__button:hover{background:transparent!important;color:var(--kl)!important}

/* Discount / sale badges inside order items */
.wc-block-components-sale-badge{
    background:var(--kl-soft)!important;
    color:var(--kl)!important;
    border-radius:999px!important;
    padding:2px 8px!important;
    font-size:11.5px!important;
    font-weight:700!important;
    text-transform:none!important;
    letter-spacing:0!important;
    display:inline-block!important;
}

/* --- Cart: tighten header + first row top padding, keep table flat --- */
.wp-block-woocommerce-cart .wc-block-cart-items thead tr th{padding-top:0!important}
.wp-block-woocommerce-cart .wc-block-cart-items tbody tr:first-child td{padding-top:16px!important}
.wp-block-woocommerce-cart .wc-block-cart-item__image{padding-top:16px!important}
/* Desktop: у строк товара убираем боковой паддинг у крайних ячеек; заголовки th не трогаем — иначе «Товар»/«Итого» обрезаются скруглением */
@media(min-width:900px){
    .wp-block-woocommerce-cart .wc-block-cart-items tbody td:first-child{padding-left:0!important}
    .wp-block-woocommerce-cart .wc-block-cart-items tbody td:last-child{padding-right:0!important}
}

/* --- Sidebar totals breathing room --- */
.wp-block-woocommerce-checkout-order-summary-block > *,
.wp-block-woocommerce-cart-order-summary-block > *{margin-top:0!important}
/* One and only one divider between logical totals groups */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper{
    border-top:0!important;
    margin-top:0!important;
    padding-top:0!important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper + .wc-block-components-totals-wrapper{
    border-top:1px solid var(--kl-line-soft,#f3f4f6)!important;
    margin-top:8px!important;
    padding-top:8px!important;
}
/* …and do not let the footer/total row add its own thick line if a wrapper border is already drawn */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:last-child .wc-block-components-totals-footer-item,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:last-child .wc-block-components-totals-footer-item{
    border-top:0!important;
    margin-top:0!important;
    padding-top:0!important;
}

/* --- Sidebar: "Детали заказа" pinned to top of card --- */
.wc-block-checkout__sidebar > *:first-child,
.wc-block-cart__sidebar > *:first-child,
.wc-block-components-sidebar-layout > :last-child > *:first-child{
    margin-top:0!important;
    padding-top:0!important;
}
/* Hide empty notices pushing the title down */
.wc-block-components-notices:empty,
.wc-block-components-sidebar .wc-block-components-notices:empty{display:none!important}

/* --- TIGHT STEP LAYOUT: flex-column + gap, kill all stray margins ---
   Одинаковый ритм у всех шагов: заголовок → 10px → контент → 12px между полями. */
.wc-block-components-checkout-step,
.wc-block-components-checkout-step__container{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
.wc-block-components-checkout-step > *,
.wc-block-components-checkout-step__container > *{margin:0!important}
.wc-block-components-checkout-step__heading{
    margin:0!important;
    padding:0 0 8px!important;
    border-bottom:1px solid var(--kl-line-soft,#f3f4f6)!important;
}
/* Universal h2: whether inside heading or direct child of block wrapper */
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__heading h2,
.wc-block-components-checkout-step__heading h3,
.wp-block-woocommerce-checkout-contact-information-block > h2,
.wp-block-woocommerce-checkout-shipping-address-block > h2,
.wp-block-woocommerce-checkout-billing-address-block > h2,
.wp-block-woocommerce-checkout-shipping-method-block > h2,
.wp-block-woocommerce-checkout-shipping-methods-block > h2,
.wp-block-woocommerce-checkout-pickup-options-block > h2,
.wp-block-woocommerce-checkout-payment-block > h2,
.wp-block-woocommerce-checkout-additional-information-block > h2,
.wp-block-woocommerce-checkout-order-note-block > h2,
.wp-block-woocommerce-checkout-order-summary-block > h2,
.wp-block-woocommerce-cart-order-summary-block > h2{
    margin:0 0 8px!important;
    padding:0 0 8px!important;
    border-bottom:1px solid var(--kl-line-soft,#f3f4f6)!important;
    font-size:clamp(16px,2.2vw,18px)!important;
    font-weight:700!important;
    letter-spacing:-.015em!important;
    color:var(--kl-ink,#0f172a)!important;
}

/* Kill empty description spacer (not just `:empty` — WC may put whitespace) */
.wc-block-components-checkout-step__description{margin:0!important;padding:0!important;min-height:0!important}
.wc-block-components-checkout-step__description:empty,
.wc-block-components-checkout-step__description:not(:has(*:not(:empty))){display:none!important}

/* Step content: flex column with sane gap — fields no longer need own margins */
.wc-block-components-checkout-step__content{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
}
.wc-block-components-checkout-step__content > *{margin:0!important}

/* Inputs & selects — no own margins; rhythm is driven by parent gap */
.wc-block-components-text-input,
.wc-block-components-address-form .wc-block-components-text-input,
.wc-block-components-select,
.wc-block-components-combobox{margin:0!important}

/* Address form: both row & column gap */
.wc-block-components-address-form{gap:12px!important}

/* --- Section separators between step blocks in main card --- */
.wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout-pickup-options-block,
.wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout-additional-information-block,
.wp-block-woocommerce-checkout-order-note-block{
    margin-top:20px!important;
    padding-top:20px!important;
    border-top:1px solid var(--kl-line-soft,#f3f4f6)!important;
}
.wp-block-woocommerce-checkout-contact-information-block{
    margin-top:0!important;
    padding-top:0!important;
    border-top:0!important;
}

/* --- Radio dot: vertically center in row, even when parent is stretched --- */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option,
label.wc-block-components-radio-control__option{
    align-items:center!important;
}
.wc-block-components-radio-control-accordion-option > label{
    align-items:center!important;
}
.wc-block-components-radio-control__input,
.wc-block-components-radio-control__option input[type="radio"]{
    align-self:center!important;
    margin:0!important;
    top:auto!important;
    transform:none!important;
}
/* WC Blocks: в ядре radio absolute + padding-left на label; наш shorthand padding сбрасывает место под кружок — текст («Kisslorod») наезжает на точку */
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__input,
body.woocommerce-cart .wc-block-components-radio-control .wc-block-components-radio-control__input{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
}

/* --- Shipping row label helper --- */
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout-shipping-method-block .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout-pickup-options-block .wc-block-components-radio-control__label{
    padding-right:10px!important;
}
.wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label{
    font-weight:500!important;
}

/* --- Relocated actions (placed under summary in sidebar by JS) ---
   Одна линия: слева «Вернуться в корзину» (стрелка + текст), справа «Оформить заказ». */
.wp-block-woocommerce-checkout-actions-block.kl-actions-relocated{
    margin:18px 0 0!important;
    padding:18px 0 0!important;
    border-top:1px solid var(--kl-line-soft,#f3f4f6)!important;
}
.wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-checkout__actions,
.wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-checkout__actions_row{
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
}
.wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-components-checkout-return-to-cart-button{
    order:1!important;
    justify-content:flex-start!important;
    align-items:center!important;
    flex:0 1 auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:min(100%,max-content)!important;
    gap:10px!important;
    white-space:nowrap!important;
    text-align:left!important;
}
.wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-components-checkout-return-to-cart-button .wc-block-components-button__text{
    white-space:nowrap!important;
}
.wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-components-checkout-place-order-button{
    order:2!important;
    flex:0 1 auto!important;
    max-width:min(420px,58vw)!important;
    width:auto!important;
    min-width:0!important;
    margin-left:auto!important;
}
@media(max-width:599px){
    .wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-checkout__actions_row{
        gap:8px!important;
    }
    .wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-components-checkout-place-order-button{
        max-width:min(420px,44%)!important;
        padding-left:12px!important;
        padding-right:12px!important;
        font-size:13px!important;
    }
    .wp-block-woocommerce-checkout-actions-block.kl-actions-relocated .wc-block-components-checkout-return-to-cart-button{
        font-size:12.5px!important;
        padding:8px 2px!important;
        gap:6px!important;
    }
}
