.kcw-widget {
  --kcw-edge: 22px;
  --kcw-green: #087e58;
  --kcw-ink: #173c34;
  position: fixed;
  right: max(var(--kcw-edge), env(safe-area-inset-right, 0px));
  bottom: calc(max(var(--kcw-edge), env(safe-area-inset-bottom, 0px)) + var(--kcw-cookie-offset, 0px) + var(--kcw-keyboard-offset, 0px));
  z-index: 920;
  color: var(--kcw-ink);
  font: 400 14px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left;
}
.kcw-widget *, .kcw-widget *::before, .kcw-widget *::after { box-sizing: border-box; }
.kcw-widget[hidden], .kcw-panel[hidden], .kcw-draft[hidden] { display: none !important; }
.kcw-widget a { text-decoration: none; }
.kcw-widget button, .kcw-widget textarea { font: inherit; }
.kcw-widget button { cursor: pointer; }
.kcw-widget a:focus-visible, .kcw-widget button:focus-visible, .kcw-widget textarea:focus-visible {
  outline: 3px solid #268bdc;
  outline-offset: 3px;
}
.kcw-icon { display: block; flex: 0 0 auto; width: 24px; height: 24px; }
.kcw-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.kcw-launcher-row { display: flex; align-items: center; justify-content: flex-end; gap: 13px; }
.kcw-invitation {
  position: relative;
  padding: 10px 14px;
  border: 1px solid #e1e9e5;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 20px #183d3212;
  color: #24483d;
  font-size: 13px;
  font-weight: 600;
  animation: kcw-arrive 440ms 600ms both;
}
.kcw-invitation::after { content: ''; position: absolute; right: -5px; top: 15px; width: 8px; height: 8px; background: #fff; border-top: 1px solid #e1e9e5; border-right: 1px solid #e1e9e5; transform: rotate(45deg); }
.kcw-invitation span { margin-left: 5px; }
.kcw-widget[data-kcw-open="true"] .kcw-invitation { display: none; }
.kcw-launcher {
  position: relative;
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 0 23px;
  border: 1px solid #ffffff40;
  border-radius: 999px;
  background: linear-gradient(135deg, #159965, #05754d);
  box-shadow: 0 9px 26px #06543833, inset 0 1px 0 #ffffff38;
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  white-space: nowrap;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.kcw-launcher::before { content: ''; position: absolute; inset: -6px; border: 1px solid #18956824; border-radius: inherit; pointer-events: none; }
.kcw-launcher:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 14px 32px #06543840, inset 0 1px 0 #ffffff38; }
.kcw-launcher-close { display: none; width: 22px; height: 22px; }
.kcw-launcher[aria-expanded="true"] { min-width: 58px; padding: 0 17px; }
.kcw-launcher[aria-expanded="true"] > .kcw-icon, .kcw-launcher[aria-expanded="true"] > span { display: none; }
.kcw-launcher[aria-expanded="true"] .kcw-launcher-close { display: block; }
.kcw-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 16px);
  width: min(386px, calc(var(--kcw-viewport-width, 100vw) - 2 * var(--kcw-edge) - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  max-height: calc(var(--kcw-viewport-height, 100dvh) - 116px - var(--kcw-cookie-offset, 0px) - env(safe-area-inset-bottom, 0px));
  margin: 0;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #ffffffaa;
  border-radius: 25px;
  background: #f6f8f5;
  box-shadow: 0 26px 80px #062f3233, 0 4px 14px #062f3214;
  scrollbar-width: thin;
  transform-origin: bottom right;
  animation: kcw-open 300ms cubic-bezier(.18,.8,.3,1) both;
}
.kcw-heading {
  position: relative;
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  padding: 23px 16px 23px 21px;
  background: radial-gradient(ellipse at top left, #23897080, transparent 75%), linear-gradient(115deg, #0e5147, #063c35);
  color: #fff;
}
.kcw-avatar { position: relative; flex: 0 0 auto; display: grid; place-items: center; width: 49px; height: 49px; border: 2px solid #ffffffbd; border-radius: 16px; background: #fff; box-shadow: 0 2px 8px #002a3526; }
.kcw-avatar img { display: block; width: 40px; height: 31px; object-fit: contain; }
.kcw-avatar > span { position: absolute; right: -5px; bottom: -5px; padding: 3px; border: 2px solid #126051; border-radius: 50%; background: #fff; color: #138760; }
.kcw-avatar .kcw-icon { width: 12px; height: 12px; }
.kcw-brand { flex: 1 1 auto; min-width: 0; }
.kcw-brand h2 { margin: 0 0 3px; color: #fff; font: 700 18px/1.2 Inter, system-ui, sans-serif; letter-spacing: -.025em; }
.kcw-brand > span { display: block; color: #c4e5d9; font-size: 11px; line-height: 1.5; }
.kcw-header-phone, .kcw-close { flex: 0 0 auto; display: grid; width: 36px; height: 44px; place-items: center; padding: 0; border: 0; border-radius: 10px; background: transparent; color: #e8f6ee; }
.kcw-header-phone { margin-right: -8px; }
.kcw-header-phone:hover, .kcw-close:hover { background: #ffffff16; color: #fff; }
.kcw-header-phone svg { width: 18px; height: 18px; }
.kcw-close svg { width: 21px; height: 21px; }
.kcw-chat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 17px;
  padding: 20px 23px 25px;
  background-color: #f0f1e9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='160' viewBox='0 0 180 160' fill='none' stroke='%23859479' stroke-opacity='.12' stroke-width='1.3'%3E%3Cpath d='M20 20h21v16H29l-6 5v-5h-3zM111 89h22v14h-22zM133 92h4a4 4 0 0 1 0 8h-4M108 108h29M70 62l3-7 3 7 7 3-7 3-3 7-3-7-7-3zM152 27l4 8 9 1-6 6 1 9-8-4-8 4 1-9-6-6 9-1zM22 113l8 5 8-5v15l-8 5-8-5zM87 141l6-6m-3 10 6-6'/%3E%3C/svg%3E");
}
.kcw-chat-label { align-self: center; padding: 5px 10px; border-radius: 7px; background: #ffffffc4; box-shadow: 0 1px 2px #153d2410; color: #69746a; font-size: 11px; font-weight: 600; letter-spacing: .01em; }
.kcw-bubble { position: relative; width: 94%; padding: 16px 18px; border: 1px solid #e6e9e2; border-radius: 0 15px 15px 15px; background: #fff; box-shadow: 0 2px 2px #172e2910; }
.kcw-bubble::before { content: ''; position: absolute; top: -1px; left: -8px; width: 9px; height: 13px; background: #fff; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.kcw-sender { display: block; margin-bottom: 8px; color: #157a58; font-size: 11px; font-weight: 750; }
.kcw-bubble p { margin: 0; color: #344c43; font-size: 13px; line-height: 1.65; }
.kcw-bubble .kcw-hello { margin-bottom: 6px; color: #123e31; font-size: 23px; font-weight: 750; line-height: 1.35; letter-spacing: -.045em; }
.kcw-wave { display: inline-block; margin-left: 4px; transform-origin: 70% 75%; animation: kcw-wave 900ms 450ms both; }
.kcw-bubble .kcw-bubble-question { margin-top: 9px; font-weight: 650; }
.kcw-welcome { animation: kcw-arrive 380ms 110ms both; }
.kcw-topics { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; animation: kcw-arrive 380ms 230ms both; }
.kcw-widget .kcw-topic { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; margin: 0; padding: 8px 12px; border: 1px solid #5eab8d50; border-radius: 11px; background: #ffffffd9; color: #246a50; font-size: 11px; font-weight: 650; transition: background 140ms, transform 140ms, border-color 140ms; }
.kcw-topic span { font-size: 14px; color: #4d9277; }
.kcw-topic:hover, .kcw-topic[aria-pressed="true"] { border-color: #248561; background: #e0f3e5; transform: translateY(-1px); }
.kcw-draft { align-self: flex-end; max-width: 95%; padding: 11px 14px 8px; border: 1px solid #bfddb4; border-radius: 13px 0 13px 13px; background: #dbf5c8; box-shadow: 0 1px 2px #234c2115; animation: kcw-arrive 220ms both; }
.kcw-draft p { margin: 0; color: #254532; font-size: 13px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.kcw-draft > span { display: block; margin-top: 5px; color: #586e50; font-size: 11px; text-align: right; }
.kcw-compose-area { padding: 15px 16px 0; border-top: 1px solid #e5e8df; background: #f9faf7; }
.kcw-composer { display: flex; align-items: flex-end; gap: 9px; }
.kcw-widget .kcw-message { display: block; flex: 1 1 auto; width: 0; min-width: 0; min-height: 48px; max-height: 112px; margin: 0; padding: 11px 14px; resize: none; border: 1px solid #dce3d8; border-radius: 19px; background: #fff; box-shadow: 0 2px 3px #24442d05; color: #244837; font-size: 16px; line-height: 24px; }
.kcw-message::placeholder { color: #7a877e; }
.kcw-message:focus { border-color: #6aac86; }
.kcw-send { flex: 0 0 46px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #168360; box-shadow: 0 3px 7px #0a644422; color: #fff; transition: background 150ms, transform 150ms, box-shadow 150ms; }
.kcw-send svg { width: 22px; height: 22px; margin-left: 3px; transition: transform 180ms; }
.kcw-send:hover { background: #06694b; color: #fff; transform: translateY(-2px); }
.kcw-send:hover svg { transform: translateX(2px); }
.kcw-widget[data-kcw-has-message="true"] .kcw-send { background: #087c51; box-shadow: 0 0 0 4px #16836014, 0 4px 12px #0a644433; }
.kcw-compose-area .kcw-handoff { display: flex; align-items: center; justify-content: center; gap: 5px; margin: 10px 0 13px; color: #627a69; font-size: 11px; line-height: 1.5; }
.kcw-handoff .kcw-icon { width: 12px; height: 12px; }
.kcw-handoff strong { font-weight: 650; }
.kcw-alternatives { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; border-top: 1px solid #e4e9df; }
.kcw-alternatives a { display: inline-flex; align-items: center; gap: 4px; min-height: 43px; color: #546c5c; font-size: 11px; }
.kcw-alternatives strong { color: #294c38; font-weight: 650; white-space: nowrap; }
.kcw-alternatives a:hover { text-decoration: underline; }
@keyframes kcw-open { from { opacity: 0; transform: translateY(15px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes kcw-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes kcw-wave { 0%,100% { transform: rotate(0); } 20%,60% { transform: rotate(18deg); } 40%,80% { transform: rotate(-8deg); } }
@media (max-width: 760px) {
  .kcw-widget { --kcw-edge: 16px; }
  .kcw-launcher { min-height: 54px; padding: 0 19px; font-size: 14px; }
  .kcw-launcher[aria-expanded="true"] { min-width: 54px; padding: 0 15px; }
  .kcw-invitation { display: none; }
  .kcw-panel { bottom: calc(100% + 12px); max-height: calc(var(--kcw-viewport-height, 100dvh) - 102px - env(safe-area-inset-bottom, 0px)); }
  .kcw-heading { gap: 8px; padding: 19px 12px 19px 17px; }
  .kcw-brand > span { font-size: 11px; }
  .kcw-chat { padding: 18px 20px 23px; }
  .kcw-widget .kcw-topic { min-height: 44px; }
  body:has(.cookie-panel:not([hidden])) .kcw-widget { visibility: hidden; }
}
@media (max-width: 360px) {
  .kcw-header-phone { display: none; }
  .kcw-heading { padding-inline: 14px; }
  .kcw-chat { padding-inline: 16px; }
  .kcw-bubble { width: 100%; padding: 14px; }
  .kcw-alternatives { justify-content: center; }
  .kcw-alternatives a:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .kcw-widget *, .kcw-widget *::before, .kcw-widget *::after { animation: none !important; transition: none !important; }
}
@media print { .kcw-widget { display: none !important; } }

/* KassaCompany brand; WhatsApp keeps its familiar green action colour. */
.kcw-heading{background:radial-gradient(ellipse at top left,#354d6480,transparent 75%),linear-gradient(115deg,#142c42,#0c1d2e)}
.kcw-avatar>span{border-color:#172e44}
.kcw-monogram{font:750 19px/1 system-ui,sans-serif;color:#172d42;letter-spacing:-1.3px}
.kcw-monogram span{color:#b52a43;font-size:8px;vertical-align:top;letter-spacing:0;margin-left:1px}
.kcw-brand h2{font-family:system-ui,sans-serif;font-size:18px}
.kcw-brand>span{color:#cfdae5}
.kcw-close,.kcw-header-phone{min-width:40px;min-height:44px}
.kcw-widget{bottom:calc(max(var(--kcw-edge),env(safe-area-inset-bottom,0px)) + max(var(--kcw-cookie-offset,0px),var(--kcw-controls-offset,0px)) + var(--kcw-keyboard-offset,0px))}
.kcw-panel{max-height:calc(var(--kcw-viewport-height,100dvh) - 116px - max(var(--kcw-cookie-offset,0px),var(--kcw-controls-offset,0px)) - env(safe-area-inset-bottom,0px))}
@media(max-width:760px){.kcw-panel{max-height:calc(var(--kcw-viewport-height,100dvh) - 102px - max(var(--kcw-cookie-offset,0px),var(--kcw-controls-offset,0px)) - env(safe-area-inset-bottom,0px))}}
