/* ============================================================
   v13 Premium Animated Chatbot FAB
   - Makes the AI open button richer without breaking tap/click fixes
   - Lightweight CSS-only motion, respects reduced motion
   ============================================================ */

#rsFloatAI.rs-float-ai{
  z-index:2147483000!important;
  pointer-events:none!important;
  isolation:isolate!important;
}

#rsAIFab.rs-ai-fab,
#rsAIHitbox{
  pointer-events:auto!important;
}

#rsAIFab.rs-ai-fab{
  --fab-size:78px;
  --fab-orb:66px;
  width:var(--fab-size)!important;
  height:var(--fab-size)!important;
  border-radius:28px!important;
  background:transparent!important;
  transform-origin:center!important;
  animation:rsFabFloatV13 4.8s ease-in-out infinite, rsFabNudgeV13 9s ease-in-out infinite!important;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.42));
}

#rsAIFab.rs-ai-fab::before{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:50%;
  background:conic-gradient(from 0deg,
    rgba(255,238,181,0),
    rgba(255,238,181,.78),
    rgba(82,232,255,.55),
    rgba(255,238,181,0) 72%);
  filter:blur(.1px);
  opacity:.78;
  animation:rsFabSpinV13 5.8s linear infinite;
  z-index:-1;
}

#rsAIFab.rs-ai-fab::after{
  content:"Ask RS AI";
  position:absolute;
  right:76px;
  bottom:18px;
  min-width:max-content;
  padding:10px 14px 10px 15px;
  border-radius:999px 999px 12px 999px;
  color:#fff5cb;
  font:900 11px/1 "DM Sans",system-ui,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  background:
    linear-gradient(135deg,rgba(14,10,3,.92),rgba(48,34,8,.86)),
    radial-gradient(circle at 20% 0%,rgba(255,228,163,.24),transparent 38%);
  border:1px solid rgba(255,213,128,.34);
  box-shadow:0 18px 44px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,244,205,.14);
  backdrop-filter:blur(14px) saturate(1.28);
  -webkit-backdrop-filter:blur(14px) saturate(1.28);
  pointer-events:none;
  opacity:.94;
  transform:translateX(0) translateY(0) scale(1);
  animation:rsFabLabelV13 7.5s ease-in-out infinite;
}

#rsAIFab.rs-ai-fab .rs-ai-orb{
  width:var(--fab-orb)!important;
  height:var(--fab-orb)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.98) 0 7%,rgba(255,255,255,.45) 8%,transparent 22%),
    radial-gradient(circle at 72% 78%,rgba(82,232,255,.26),transparent 29%),
    conic-gradient(from 218deg at 48% 52%,#fff6ca 0deg,#f7d66a 36deg,#c28b28 78deg,#61410e 118deg,#100a02 162deg,#0a0805 210deg,#47310d 266deg,#d6aa39 318deg,#fff6ca 360deg)!important;
  box-shadow:
    0 0 0 1px rgba(255,230,166,.38) inset,
    0 0 0 5px rgba(255,213,128,.075),
    0 18px 44px rgba(0,0,0,.58),
    0 0 42px rgba(215,168,77,.35),
    0 0 18px rgba(82,232,255,.11)!important;
  transform:translateZ(0);
  animation:rsOrbGlowV13 3.4s ease-in-out infinite!important;
}

#rsAIFab.rs-ai-fab .rs-ai-orb::before{
  content:"";
  position:absolute;
  inset:-42%;
  background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.52) 45%,transparent 56%);
  transform:translateX(-55%) rotate(10deg);
  animation:rsFabSweepV13 4.6s ease-in-out infinite;
  pointer-events:none;
}

#rsAIFab.rs-ai-fab .rs-ai-orb::after{
  content:"AI";
  position:absolute;
  top:9px;
  right:8px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#0b0802;
  font:1000 8px/1 "DM Sans",system-ui,sans-serif;
  letter-spacing:.06em;
  background:linear-gradient(135deg,#fff6ca,#f1c54b);
  box-shadow:0 8px 18px rgba(0,0,0,.32),0 0 16px rgba(255,213,128,.28);
  pointer-events:none;
}

#rsAIFab.rs-ai-fab .rs-ai-orb-inner{
  width:36px;
  height:36px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#fff5c8!important;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(0,0,0,.18));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 24px rgba(0,0,0,.28);
  transform:translate(-1px,2px);
  animation:rsIconBreathV13 2.8s ease-in-out infinite;
}

#rsAIFab.rs-ai-fab .rs-ai-orb-inner svg{
  width:24px!important;
  height:24px!important;
  filter:drop-shadow(0 0 8px rgba(255,213,128,.45));
}

#rsAIFab.rs-ai-fab .rs-ai-orb-ring.r1{
  inset:2px!important;
  border-width:2px!important;
  border-top-color:rgba(255,238,181,.88)!important;
  border-left-color:rgba(255,238,181,.26)!important;
  animation:rsRingV13 3.1s linear infinite!important;
}

#rsAIFab.rs-ai-fab .rs-ai-orb-ring.r2{
  inset:-7px!important;
  border-width:2px!important;
  border-right-color:rgba(82,232,255,.62)!important;
  border-bottom-color:rgba(255,213,128,.22)!important;
  filter:drop-shadow(0 0 10px rgba(82,232,255,.22));
  animation:rsRingV13 5.7s linear infinite reverse!important;
}

#rsAIFab.rs-ai-fab .rs-ai-status-dot{
  width:14px!important;
  height:14px!important;
  right:7px!important;
  bottom:7px!important;
  border:3px solid rgba(5,5,3,.95)!important;
  background:#2df477!important;
  box-shadow:0 0 0 4px rgba(45,244,119,.10),0 0 22px rgba(45,244,119,.95)!important;
  animation:rsStatusPulseV13 1.6s ease-in-out infinite!important;
}

#rsAIFab.rs-ai-fab:hover,
#rsAIFab.rs-ai-fab:focus-visible{
  transform:translateY(-4px) scale(1.045)!important;
}

#rsAIFab.rs-ai-fab:hover .rs-ai-orb,
#rsAIFab.rs-ai-fab:focus-visible .rs-ai-orb{
  box-shadow:
    0 0 0 1px rgba(255,230,166,.50) inset,
    0 0 0 7px rgba(255,213,128,.10),
    0 22px 54px rgba(0,0,0,.62),
    0 0 58px rgba(215,168,77,.46),
    0 0 24px rgba(82,232,255,.18)!important;
}

body.rs-chatbot-visible #rsAIFab.rs-ai-fab,
#rsAIFab.rs-ai-fab.rs-active{
  animation:rsFabOpenV13 .42s cubic-bezier(.2,1,.22,1) both!important;
}
body.rs-chatbot-visible #rsAIFab.rs-ai-fab::after,
#rsAIFab.rs-ai-fab.rs-active::after{
  content:"Online";
  opacity:.62;
  transform:translateX(7px) translateY(2px) scale(.92);
}
body.rs-chatbot-visible #rsAIFab.rs-ai-fab .rs-ai-orb,
#rsAIFab.rs-ai-fab.rs-active .rs-ai-orb{
  border-radius:50%!important;
  animation:rsOrbOpenV13 1.8s ease-in-out infinite!important;
}

@keyframes rsFabFloatV13{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes rsFabNudgeV13{0%,72%,100%{rotate:0deg}76%{rotate:-3deg}80%{rotate:3deg}84%{rotate:-2deg}88%{rotate:0deg}}
@keyframes rsFabSpinV13{to{transform:rotate(360deg)}}
@keyframes rsRingV13{to{transform:rotate(360deg)}}
@keyframes rsOrbGlowV13{0%,100%{filter:saturate(1) brightness(1)}50%{filter:saturate(1.18) brightness(1.08)}}
@keyframes rsFabSweepV13{0%,52%{transform:translateX(-60%) rotate(10deg);opacity:0}65%{opacity:.82}82%,100%{transform:translateX(60%) rotate(10deg);opacity:0}}
@keyframes rsIconBreathV13{0%,100%{transform:translate(-1px,2px) scale(1)}50%{transform:translate(-1px,2px) scale(1.06)}}
@keyframes rsStatusPulseV13{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.22);opacity:1}}
@keyframes rsFabLabelV13{0%,100%{opacity:.88;transform:translateX(0) scale(1)}50%{opacity:1;transform:translateX(-4px) scale(1.02)}}
@keyframes rsFabOpenV13{0%{transform:scale(1)}60%{transform:scale(.88) rotate(-6deg)}100%{transform:scale(.94) rotate(0deg)}}
@keyframes rsOrbOpenV13{0%,100%{filter:saturate(1.06) brightness(1)}50%{filter:saturate(1.24) brightness(1.12)}}

@media (max-width:768px){
  #rsAIFab.rs-ai-fab{
    --fab-size:76px;
    --fab-orb:64px;
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
  }
  #rsAIFab.rs-ai-fab::after{
    content:"AI";
    right:58px;
    bottom:46px;
    min-width:auto;
    padding:7px 9px;
    border-radius:999px;
    font-size:9px;
    letter-spacing:.08em;
    opacity:.74;
    animation:rsFabLabelMiniV13 4.2s ease-in-out infinite;
  }
  body.rs-chatbot-visible #rsAIFab.rs-ai-fab::after{content:"";display:none;}
}

@media (max-width:390px){
  #rsAIFab.rs-ai-fab{--fab-size:70px;--fab-orb:60px;}
  #rsAIFab.rs-ai-fab .rs-ai-orb-inner{width:32px;height:32px;border-radius:14px;}
  #rsAIFab.rs-ai-fab .rs-ai-orb-inner svg{width:21px!important;height:21px!important;}
}

@keyframes rsFabLabelMiniV13{0%,100%{transform:translate(0,0) scale(1);opacity:.70}50%{transform:translate(-2px,-2px) scale(1.06);opacity:.95}}

@media (prefers-reduced-motion: reduce){
  #rsAIFab.rs-ai-fab,
  #rsAIFab.rs-ai-fab::before,
  #rsAIFab.rs-ai-fab::after,
  #rsAIFab.rs-ai-fab .rs-ai-orb,
  #rsAIFab.rs-ai-fab .rs-ai-orb::before,
  #rsAIFab.rs-ai-fab .rs-ai-orb-inner,
  #rsAIFab.rs-ai-fab .rs-ai-orb-ring,
  #rsAIFab.rs-ai-fab .rs-ai-status-dot{
    animation:none!important;
  }
}
