/* ============================================================
 * PATCH 11.0 — виджеты (Goal-батч 20.06):
 *   1. Плавающий контакт-виджет + кнопка «Наверх» (#19)
 *   2. Cookie-баннер 152-ФЗ (#8)
 *   3. Блок реквизитов в подвале (#8)
 * Токены берём из patch-8.0; для надёжности — фолбэки в var().
 * ============================================================ */

/* ───── 1. Контакт-виджет (вариант A — минимал-стек) ───── */
.cw{position:fixed;right:20px;top:50%;transform:translateY(-50%);
    display:flex;flex-direction:column;gap:14px;z-index:50}
.cw-btn{position:relative;display:block;width:56px;height:56px;
        animation:cw-in .5s cubic-bezier(.2,.7,.3,1) backwards}
.cw-btn:nth-child(1){animation-delay:.05s}
.cw-btn:nth-child(2){animation-delay:.12s}
.cw-btn:nth-child(3){animation-delay:.19s}
.cw-btn:nth-child(4){animation-delay:.26s}
@keyframes cw-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.cw-ic{width:56px;height:56px;border-radius:50%;background:var(--ink,#0A0A0A);color:#fff;
       display:grid;place-items:center;box-shadow:var(--shadow-float,0 10px 28px rgba(0,0,0,.2));
       transition:background .18s,color .18s,transform .18s}
.cw-ic svg{width:24px;height:24px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-btn:hover .cw-ic:not(.brand){background:var(--yellow,#FECE15);color:var(--ink,#0A0A0A);transform:scale(1.06)}
.cw-ic.brand svg{fill:#fff;stroke:none}
.cw-ic.tg{background:#019be5}
.cw-ic.max{background:linear-gradient(145deg,#4cf,#53e 66%,#93d)}
.cw-ic.max svg{width:31px;height:31px}
.cw-ic.tg svg{transform:translate(-1.2px,1px)}
.cw-btn:hover .cw-ic.brand{transform:scale(1.06)}
.cw-pill{position:absolute;right:68px;top:50%;transform:translateY(-50%) translateX(10px);
         background:var(--ink,#0A0A0A);color:#fff;border-radius:999px;padding:9px 18px;white-space:nowrap;
         box-shadow:var(--shadow-float,0 10px 28px rgba(0,0,0,.2));opacity:0;pointer-events:none;
         transition:opacity .18s,transform .18s;display:flex;flex-direction:column;justify-content:center}
.cw-pill .k{font-size:11px;font-weight:500;letter-spacing:.4px;color:#9a9a9a;line-height:1.2}
.cw-pill .v{font-size:14px;font-weight:700;letter-spacing:.2px;color:#fff;line-height:1.25}
.cw-btn:hover .cw-pill{opacity:1;transform:translateY(-50%) translateX(0)}
.cw-btn.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:-1;
    box-shadow:0 0 0 0 rgba(254,206,21,.55);animation:cw-pulse 2.4s ease-out infinite}
@keyframes cw-pulse{0%{box-shadow:0 0 0 0 rgba(254,206,21,.5)}70%{box-shadow:0 0 0 14px rgba(254,206,21,0)}100%{box-shadow:0 0 0 0 rgba(254,206,21,0)}}
/* Скоуп body.kp-body ОБЯЗАТЕЛЕН: woodmart перебивает голый .cw-top своим
 * сбросом :is(.btn,.button,button,...){position:relative;display:inline-flex;
 * background:#F3F3F3;border-radius:0} — он той же специфичности (0,0,1,0), но
 * грузится позже. body.kp-body .cw-top = 0,0,2,1 → чисто выигрывает без !important.
 * transform: при появлении кнопка ВКРУЧИВАЕТСЯ (rotate -180°→0) + выезжает снизу. */
body.kp-body .cw-top{position:fixed;right:20px;bottom:22px;width:52px;height:52px;border:0;cursor:pointer;
        border-radius:50%;background:var(--yellow,#FECE15);color:var(--ink,#0A0A0A);
        box-shadow:var(--shadow-float,0 10px 28px rgba(0,0,0,.2));display:grid;place-items:center;z-index:50;
        opacity:0;transform:translateY(14px) rotate(-180deg);pointer-events:none;
        transition:opacity .3s ease,transform .5s cubic-bezier(.34,1.28,.5,1),background .15s}
body.kp-body .cw-top svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
body.kp-body .cw-top:hover{background:var(--yellow-hover,#FFD933)}
body.kp-body .cw-top.show{opacity:1;transform:translateY(0) rotate(0);pointer-events:auto}

/* ───── 2. Cookie-баннер (по умолчанию скрыт, JS показывает) ───── */
.kp-cookie{display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:60;
           background:var(--ink,#0A0A0A);color:#fff;border-radius:var(--r,12px);
           box-shadow:var(--shadow-float,0 10px 28px rgba(0,0,0,.2));
           padding:9px 12px 9px 22px;max-width:620px;margin:0 auto;
           align-items:center;gap:16px}
.kp-cookie.is-visible{display:flex}
.kp-cookie-text{font-size:13px;line-height:1.4;color:#d8d8d8}
.kp-cookie-text a{color:var(--yellow,#FECE15);text-decoration:underline}
/* Скоуп body.kp-body: иначе woodmart-сброс :is(...button...) делает кнопку белой/квадратной (как было у .cw-top) */
body.kp-body .kp-cookie-btn{flex:0 0 auto;border:0;cursor:pointer;background:var(--yellow,#FECE15);color:var(--ink,#0A0A0A);
               font-weight:700;font-size:13px;padding:9px 22px;border-radius:10px;transition:background .15s;white-space:nowrap}
body.kp-body .kp-cookie-btn:hover{background:var(--yellow-hover,#FFD933)}

/* ───── 3. Реквизиты в подвале ───── */
.kp-footer-rekviz{font-size:12px;line-height:1.6;color:var(--ink-3,#8A8A8A);margin-top:6px}

/* ───── 4. «Все фильтры» — раскрытый ряд пилюль (#16, интерим) ───── */
body.kp-body .kp-cat-fbar.kp-fbar-expanded .kp-cat-fbar-left{flex-wrap:wrap;row-gap:10px}
body.kp-body .kp-cat-fpill-all.is-active{background:var(--yellow,#FECE15);color:var(--ink,#0A0A0A)}

/* ───── Адаптив ───── */
@media (max-width:768px){
  .cw{right:14px;gap:12px}
  .cw-btn,.cw-ic{width:52px;height:52px}
  body.kp-body .cw-top{width:48px;height:48px;right:14px}
  .kp-cookie{flex-direction:column;align-items:stretch;text-align:left;gap:12px;padding:14px 16px}
  .kp-cookie-btn{width:100%}
}
