/* === Floating Owl Button (base) === */
.floating-owl-btn{
  position: fixed;
  top: 42px;                 /* default position for desktop */
  left: 24px;
  z-index: 1101;
  width: 84px;
  height: 84px;
  background: #00aeff00;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow .22s, transform .18s, opacity .2s;
  cursor: pointer;
  padding: 0;
  outline: none;

  /* perf & isolation (no visual change) */
  isolation: isolate;
  contain: paint;
  will-change: transform, left, top;
  transform: translateZ(0);
}
.floating-owl-btn img{
  display: block;            /* prevent inline-gap quirks */
  width: 64px;
  height: 64px;
  object-fit: contain;
  transition: transform 1.2s;
}
.floating-owl-btn:hover,
.floating-owl-btn:focus{
  background: #00d5ff1d;
  box-shadow: 0 8px 40px #00d5ff66, 0 0 0 1px #00d5ff0b;
  transform: translateY(-2px) scale(1.05);
}

/* Tablet */
@media (max-width: 900px){
  .floating-owl-btn{ width: 64px; height: 64px; }
  .floating-owl-btn img{ width: 56px; height: 56px; }
}

/* Mobile */
@media (max-width: 600px){
  .floating-owl-btn img{ width: 56px; height: 56px; }
}

/* === Float-only animation (moved from owl-floating-anim.css) === */
#openOwlPopup,
.floating-owl-btn {
  animation: owlFloatOnly 3.8s ease-in-out infinite;
  will-change: translate;
}
@keyframes owlFloatOnly {
  0%, 100% { translate: 0 0; }
  50%      { translate: 0 -7px; }
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  #openOwlPopup,
  .floating-owl-btn { animation: none !important; }
}
/* Pause while dragging */
#openOwlPopup.is-dragging,
.floating-owl-btn.is-dragging {
  animation: none !important;
  translate: 0 !important;
}
