.kp-widget{--kp-red:#c1121f;--kp-navy:#0b172a;position:fixed;z-index:999999;bottom:var(--kp-bottom,92px);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033}.kp-widget--right{right:22px}.kp-widget--left{left:22px}.kp-widget *{box-sizing:border-box}
.kp-launcher{border:0;border-radius:999px;background:var(--kp-navy);color:#fff;display:flex;align-items:center;gap:11px;padding:10px 17px 10px 10px;box-shadow:0 15px 40px rgba(2,8,23,.34);font-weight:800;cursor:pointer;letter-spacing:.1px}.kp-launcher__icon{width:38px;height:38px;border-radius:12px;overflow:hidden;display:block;flex:0 0 auto;border:1px solid rgba(255,255,255,.18)}.kp-launcher__icon img{width:100%;height:100%;object-fit:cover;display:block}
.kp-panel{position:fixed;top:clamp(48px,calc(50dvh - 305px),110px);bottom:auto;width:min(400px,calc(100vw - 28px));height:min(610px,calc(100dvh - 72px));background:#fff;border:1px solid #dde3ec;border-radius:22px;box-shadow:0 28px 90px rgba(2,8,23,.28);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transition:.2s ease}.kp-widget--right .kp-panel{right:22px}.kp-widget--left .kp-panel{left:22px}.kp-widget.is-open .kp-panel{opacity:1;visibility:visible;transform:none}
.kp-widget .kp-header{position:relative;background:linear-gradient(135deg,#0b172a,#121a24)!important;color:#fff!important;padding:16px;display:flex;align-items:center;gap:12px}.kp-widget .kp-header,.kp-widget .kp-header *{color:#fff!important}.kp-widget .kp-header__title strong{color:#fff!important}.kp-widget .kp-header__title small{color:#d7dfeb!important}.kp-widget .kp-close{color:#fff!important}.kp-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#fff 0 50%,var(--kp-red) 50% 100%)}.kp-avatar{width:48px;height:48px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 6px 18px rgba(0,0,0,.2);flex:0 0 auto}.kp-avatar img{width:100%;height:100%;object-fit:cover}.kp-header__title strong,.kp-header__title small{display:block}.kp-header__title strong{font-size:16px}.kp-header__title small{font-size:12px;opacity:.75;margin-top:3px}.kp-header__title small i{display:inline-block;width:7px;height:7px;background:#22c55e;border-radius:50%;margin-right:5px}.kp-close{margin-left:auto;border:0;background:transparent;color:#fff;font-size:29px;line-height:1;cursor:pointer}
.kp-messages{flex:1;overflow:auto;background:#f4f6f9;padding:18px;scrollbar-width:thin}.kp-msg{display:flex;margin:0 0 13px}.kp-msg>div{max-width:89%;padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.58;box-shadow:0 2px 9px rgba(15,23,42,.05);word-break:break-word}.kp-msg--assistant>div{background:#fff;border:1px solid #e0e5ec;border-bottom-left-radius:5px}.kp-msg--user{justify-content:flex-end}.kp-msg--user>div{background:var(--kp-red);color:#fff;border-bottom-right-radius:5px}.kp-bullet{display:block;margin:2px 0}
.kp-quick{display:flex;gap:7px;overflow:auto;padding:9px 12px;background:#fff;border-top:1px solid #edf0f4;scrollbar-width:none}.kp-quick::-webkit-scrollbar{display:none}.kp-quick button{white-space:nowrap;border:1px solid #dce2ea;background:#f3f5f8;color:#172033;border-radius:999px;padding:8px 11px;font-size:12px;cursor:pointer}.kp-quick button:hover{border-color:var(--kp-red);color:var(--kp-red)}
.kp-form{display:flex;align-items:flex-end;gap:8px;padding:10px 11px;background:#fff;border-top:1px solid #edf0f4}.kp-form textarea{flex:1;resize:none;border:1px solid #d7dde6;border-radius:13px;padding:11px 12px;line-height:1.4;font:inherit;font-size:14px;max-height:110px;outline:none}.kp-form textarea:focus{border-color:var(--kp-red);box-shadow:0 0 0 3px rgba(193,18,31,.12)}.kp-form button{width:44px;height:44px;border:0;border-radius:12px;background:var(--kp-red);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.kp-form button svg{width:19px;fill:#fff}.kp-form.is-busy button{opacity:.55;pointer-events:none}
.kp-widget footer{padding:7px 12px 10px;text-align:center;background:#fff;font-size:10px;color:#7a8495}.kp-widget footer a{color:inherit}.kp-typing span{display:inline-block;width:6px;height:6px;margin:0 2px;background:#8a95a5;border-radius:50%;animation:kpdot 1s infinite}.kp-typing span:nth-child(2){animation-delay:.15s}.kp-typing span:nth-child(3){animation-delay:.3s}@keyframes kpdot{0%,70%,100%{transform:translateY(0);opacity:.4}35%{transform:translateY(-4px);opacity:1}}.kp-inline-open{background:var(--kp-navy,#0b172a);color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer}
@media(max-width:600px){.kp-widget{bottom:var(--kp-bottom,84px)}.kp-widget--right{right:14px}.kp-widget--left{left:14px}.kp-launcher{width:58px;height:58px;padding:0;justify-content:center;border-radius:18px}.kp-launcher__label{display:none}.kp-launcher__icon{width:40px;height:40px}.kp-panel,.kp-widget--right .kp-panel,.kp-widget--left .kp-panel{position:fixed;inset:10px;width:auto;height:auto;max-height:none;border-radius:18px}.kp-messages{padding:14px}.kp-msg>div{max-width:93%}}
.kp-products{display:grid;gap:10px;margin:0 0 14px;padding:0 2px}.kp-product{display:grid;grid-template-columns:82px 1fr;gap:11px;background:#fff;border:1px solid #dde3ec;border-radius:15px;overflow:hidden;text-decoration:none!important;color:#172033!important;box-shadow:0 3px 12px rgba(15,23,42,.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.kp-product:hover{transform:translateY(-1px);border-color:var(--kp-red);box-shadow:0 7px 20px rgba(15,23,42,.1)}.kp-product__image{width:82px;min-height:104px;background:#f3f4f6;display:block}.kp-product__image img{width:100%;height:100%;object-fit:cover;display:block}.kp-product__body{display:flex;flex-direction:column;padding:10px 10px 9px 0;min-width:0}.kp-product__body strong{font-size:13px;line-height:1.3;color:#172033!important}.kp-product__body small{display:block;margin-top:5px;font-size:11px;line-height:1.35;color:#667085!important}.kp-product__bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}.kp-product__bottom b{font-size:12px;color:var(--kp-red)!important}.kp-product__bottom em{font-size:10px;font-style:normal;font-weight:800;color:#fff!important;background:var(--kp-red);border-radius:999px;padding:5px 8px;white-space:nowrap}
@media(max-width:600px){.kp-product{grid-template-columns:72px 1fr}.kp-product__image{width:72px;min-height:96px}.kp-product__body strong{font-size:12px}}
.kp-product-groups{display:grid;gap:16px;margin:0 0 14px}.kp-product-group h4{margin:0 0 8px;padding:0 2px;font-size:13px;line-height:1.2;color:var(--kp-navy)!important;font-weight:850}.kp-product-group--female h4:before{content:"♀";margin-right:6px;color:var(--kp-red)}.kp-product-group--male h4:before{content:"♂";margin-right:6px;color:var(--kp-red)}
.kp-product__body strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:34px}.kp-product__body small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kp-product__bottom b{line-height:1.25;word-break:normal;overflow-wrap:anywhere}.kp-product__bottom em{flex:0 0 auto}
@media(max-width:600px){.kp-product-groups{gap:14px}.kp-product-group h4{font-size:12px}.kp-product__body strong{min-height:31px}}


/* v0.3.2 — poprawki iPhone / małe ekrany */
.kp-panel,.kp-messages,.kp-msg,.kp-msg>div,.kp-product,.kp-product__body,.kp-product__bottom{min-width:0}
.kp-panel{overflow-x:hidden}
.kp-messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

@media(max-width:600px){
  .kp-widget{right:auto;left:auto}
  .kp-panel,.kp-widget--right .kp-panel,.kp-widget--left .kp-panel{
    position:fixed;
    top:max(8px,env(safe-area-inset-top));
    right:max(8px,env(safe-area-inset-right));
    bottom:max(8px,env(safe-area-inset-bottom));
    left:max(8px,env(safe-area-inset-left));
    width:auto;
    height:auto;
    max-width:none;
    max-height:none;
    border-radius:16px;
  }
  body.admin-bar .kp-panel,
  body.admin-bar .kp-widget--right .kp-panel,
  body.admin-bar .kp-widget--left .kp-panel{
    top:calc(46px + max(6px,env(safe-area-inset-top)));
  }
  .kp-header{padding:12px 13px!important;flex:0 0 auto}
  .kp-avatar{width:42px;height:42px;border-radius:12px}
  .kp-header__title strong{font-size:15px}
  .kp-header__title small{font-size:11px}
  .kp-messages{padding:12px;overflow-x:hidden}
  .kp-msg>div{max-width:94%;font-size:13.5px;line-height:1.52;padding:11px 12px}
  .kp-quick{padding:8px 10px}
  .kp-form{padding:9px 10px calc(9px + env(safe-area-inset-bottom))}
  .kp-form textarea{min-width:0;font-size:16px;padding:10px 11px}
  .kp-form button{width:42px;height:42px}
  .kp-widget footer{padding:6px 10px calc(8px + env(safe-area-inset-bottom));font-size:9px}

  .kp-product{grid-template-columns:68px minmax(0,1fr);gap:9px;border-radius:13px}
  .kp-product__image{width:68px;min-height:92px}
  .kp-product__body{padding:9px 9px 8px 0}
  .kp-product__body strong{font-size:12px;line-height:1.25;min-height:30px}
  .kp-product__body small{font-size:10.5px;line-height:1.3;margin-top:4px}
  .kp-product__bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding-top:7px}
  .kp-product__bottom b{font-size:11px;overflow-wrap:anywhere}
  .kp-product__bottom em{font-size:9px;padding:5px 7px;max-width:84px;overflow:hidden;text-overflow:ellipsis}
}

@media(max-width:390px){
  .kp-panel,.kp-widget--right .kp-panel,.kp-widget--left .kp-panel{
    top:max(4px,env(safe-area-inset-top));
    right:max(4px,env(safe-area-inset-right));
    bottom:max(4px,env(safe-area-inset-bottom));
    left:max(4px,env(safe-area-inset-left));
    border-radius:13px;
  }
  body.admin-bar .kp-panel,
  body.admin-bar .kp-widget--right .kp-panel,
  body.admin-bar .kp-widget--left .kp-panel{top:calc(46px + max(4px,env(safe-area-inset-top)))}
  .kp-product{grid-template-columns:62px minmax(0,1fr)}
  .kp-product__image{width:62px;min-height:88px}
  .kp-product__bottom{grid-template-columns:1fr}
  .kp-product__bottom em{justify-self:start;max-width:none}
}

@supports not (height:100dvh){
  @media(max-width:600px){
    .kp-panel,.kp-widget--right .kp-panel,.kp-widget--left .kp-panel{height:calc(100vh - 16px)}
    body.admin-bar .kp-panel,
    body.admin-bar .kp-widget--right .kp-panel,
    body.admin-bar .kp-widget--left .kp-panel{height:calc(100vh - 60px)}
  }
}

/* v0.3.4 — stabilne warstwy Firefox, Safari i Android */
.kp-widget{
  z-index:2147483647!important;
  pointer-events:none;
  transform:none!important;
  -webkit-transform:none!important;
  isolation:auto!important;
}
.kp-widget .kp-launcher,
.kp-widget .kp-panel{
  pointer-events:auto;
  z-index:2147483647!important;
  transform:none;
  -webkit-transform:none;
  backface-visibility:visible;
  -webkit-backface-visibility:visible;
}
.kp-widget.is-open .kp-launcher{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.kp-widget.is-open .kp-panel{
  opacity:1;
  visibility:visible;
  transform:none!important;
  -webkit-transform:none!important;
}
@media(min-width:601px){
  .kp-panel{
    top:clamp(52px,8vh,96px);
    height:min(610px,calc(100vh - 72px));
    max-height:calc(100vh - 72px);
  }
  body.admin-bar .kp-panel{
    top:52px;
    height:min(610px,calc(100vh - 72px));
    max-height:calc(100vh - 72px);
  }
}
