
.florek-widget{
  position:fixed;
  right:18px;
  bottom:24vh;
  z-index:999999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
  font-family:"Manrope",Arial,sans-serif;
  pointer-events:none;
}

.florek-bubble{
  position:relative;
  width:min(240px,calc(100vw - 28px));
  padding:13px 38px 13px 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px 14px 4px 14px;
  background:#25282b;
  color:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px) scale(.97);
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease;
  pointer-events:auto;
}

.florek-bubble.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
}

.florek-bubble::after{
  content:"";
  position:absolute;
  right:23px;
  bottom:-8px;
  width:16px;
  height:16px;
  background:#25282b;
  transform:rotate(45deg);
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.florek-bubble strong{
  display:block;
  margin-bottom:3px;
  font-size:13px;
}

.florek-bubble span{
  display:block;
  color:#d5d9dc;
  font-size:11px;
  line-height:1.45;
}

.florek-close{
  position:absolute;
  top:7px;
  right:7px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

.florek-close:hover{
  background:rgba(255,255,255,.18);
}

.florek-button{
  position:relative;
  width:82px;
  min-height:104px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  padding:53px 8px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:linear-gradient(160deg,#34383c,#17191b);
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 14px 34px rgba(0,0,0,.26);
  overflow:visible;
  pointer-events:auto;
  transition:transform .22s ease,box-shadow .22s ease;
}

.florek-button:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(0,0,0,.32);
}

.florek-pulse{
  position:absolute;
  inset:12px;
  border-radius:14px;
  border:1px solid rgba(185,31,43,.38);
  animation:florekPulse 2.2s infinite;
}

.florek-character{
  position:absolute;
  top:-18px;
  left:50%;
  width:62px;
  height:80px;
  transform:translateX(-50%);
  animation:florekFloat 3s ease-in-out infinite;
}

.florek-head{
  position:absolute;
  top:0;
  left:50%;
  width:47px;
  height:44px;
  transform:translateX(-50%);
  border-radius:45% 45% 42% 42%;
  background:linear-gradient(145deg,#cf2a38,#9e1723);
  border:2px solid #f6f7f7;
  box-shadow:0 8px 18px rgba(185,31,43,.30);
}

.florek-eye{
  position:absolute;
  top:16px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff;
  animation:florekBlink 4.5s infinite;
}

.florek-eye-left{left:12px}
.florek-eye-right{right:12px}

.florek-smile{
  position:absolute;
  left:50%;
  bottom:9px;
  width:14px;
  height:7px;
  transform:translateX(-50%);
  border-bottom:2px solid #fff;
  border-radius:0 0 12px 12px;
}

.florek-leaf{
  position:absolute;
  top:-11px;
  left:50%;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  transform:translateX(-50%) rotate(-8deg);
  border-radius:50%;
  background:#fff;
  color:#25282b;
}

.florek-leaf svg{
  width:13px;
  height:13px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.florek-body{
  position:absolute;
  left:50%;
  bottom:0;
  width:44px;
  height:41px;
  transform:translateX(-50%);
  border-radius:12px 12px 16px 16px;
  background:linear-gradient(160deg,#35393d,#111315);
  border:2px solid #f6f7f7;
}

.florek-chest{
  position:absolute;
  left:50%;
  top:10px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  transform:translateX(-50%);
  border-radius:50%;
  background:#b91f2b;
  font-size:9px;
  font-weight:800;
}

.florek-arm{
  position:absolute;
  top:6px;
  width:11px;
  height:32px;
  border-radius:8px;
  background:#1d2022;
  border:2px solid #f6f7f7;
  transform-origin:top center;
}

.florek-arm-left{left:-10px;transform:rotate(18deg)}
.florek-arm-right{
  right:-11px;
  transform:rotate(-22deg);
  animation:florekWave 1.8s ease-in-out infinite;
}

.florek-label{
  position:relative;
  z-index:2;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.florek-sub{
  position:relative;
  z-index:2;
  margin-top:2px;
  color:#c8cdd0;
  font-size:6.5px;
  text-align:center;
  line-height:1.25;
}

@keyframes florekFloat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-4px)}
}

@keyframes florekWave{
  0%,100%{transform:rotate(-22deg)}
  50%{transform:rotate(-48deg)}
}

@keyframes florekBlink{
  0%,46%,50%,100%{transform:scaleY(1)}
  48%{transform:scaleY(.12)}
}

@keyframes florekPulse{
  0%{opacity:.6;transform:scale(.96)}
  70%{opacity:0;transform:scale(1.08)}
  100%{opacity:0}
}

@media(max-width:782px){
  .florek-widget{
    right:10px;
    bottom:14px;
    gap:7px;
    max-width:calc(100vw - 20px);
  }

  .florek-bubble{
    width:min(220px,calc(100vw - 20px));
    padding:12px 34px 12px 13px;
    border-radius:13px 13px 4px 13px;
  }

  .florek-bubble strong{font-size:12px}
  .florek-bubble span{font-size:10.5px}

  .florek-close{
    top:6px;
    right:6px;
    width:22px;
    height:22px;
    font-size:14px;
  }

  .florek-button{
    width:72px;
    min-height:92px;
    padding:47px 7px 9px;
    border-radius:15px;
  }

  .florek-character{
    top:-16px;
    transform:translateX(-50%) scale(.9);
  }

  .florek-label{font-size:9px}
  .florek-sub{font-size:6px}
}

@media(max-width:420px){
  .florek-widget{
    right:8px;
    bottom:10px;
  }

  .florek-bubble{
    width:min(205px,calc(100vw - 16px));
  }
}

@media(prefers-reduced-motion:reduce){
  .florek-character,
  .florek-arm-right,
  .florek-eye,
  .florek-pulse{
    animation:none!important;
  }
}
