/* ---------- Native cursor over interactive elements ---------- */
.fd-has-cursor.fd-native-cursor .fd-cursor{opacity:0;transition:opacity .15s ease}
.fd-has-cursor .fd-cursor{transition:opacity .2s ease}
.fd-has-cursor :is(a[href],button,[role="button"],label,summary,select,[data-cursor],[data-slider],.fda-teaser){cursor:pointer}
.fd-has-cursor :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),textarea,[contenteditable="true"]){cursor:text}
.fd-has-cursor :is(button,input,select,textarea)[disabled]{cursor:not-allowed}
.fd-has-cursor .fda{cursor:auto}

/* ---------- Back to top ---------- */
.fd-totop{position:fixed;left:clamp(14px,2.2vw,28px);bottom:clamp(14px,2.2vw,28px);z-index:9989;width:52px;height:52px;display:grid;place-items:center;border:0;padding:0;border-radius:50%;background:rgba(17,17,17,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f5f2eb;cursor:pointer;box-shadow:0 14px 30px -12px rgba(0,0,0,.75);opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);transition:opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1),visibility 0s .35s,color .2s}
.fd-totop.is-visible{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.fd-totop:hover{color:#d6b46a}
.fd-totop:hover .fd-totop__arrow{transform:translateY(-3px)}
.fd-totop:focus-visible{outline:2px solid #d6b46a;outline-offset:3px}
.fd-totop__ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fd-totop__track{fill:none;stroke:rgba(245,242,235,.14);stroke-width:2}
.fd-totop__bar{fill:none;stroke:#d6b46a;stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset .1s linear}
.fd-totop__arrow{position:relative;width:18px;height:18px;transition:transform .3s cubic-bezier(.22,1,.36,1)}
.fda.is-open ~ .fd-totop,body.fda-open .fd-totop{opacity:0;visibility:hidden}
@media (max-width:560px){.fd-totop{width:48px;height:48px;bottom:18px}}

/* ---------- Chat launcher nudge ---------- */
.fda-launch.is-nudge{animation:fda-bounce 1.1s cubic-bezier(.28,.84,.42,1) 1}
.fda-launch.is-nudge .fda-launch__av{animation:fda-wiggle 1.1s ease 1}
@keyframes fda-bounce{
  0%,100%{transform:translateY(0)}
  15%{transform:translateY(-16px)}
  30%{transform:translateY(0)}
  42%{transform:translateY(-8px)}
  54%{transform:translateY(0)}
  64%{transform:translateY(-3px)}
  74%{transform:translateY(0)}
}
@keyframes fda-wiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-4deg)}80%{transform:rotate(2deg)}}
.fda-launch::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:2px solid #d6b46a;opacity:0;pointer-events:none}
.fda-launch{position:relative}
.fda-launch.is-nudge::after{animation:fda-ping 1.4s cubic-bezier(0,0,.2,1) 1}
@keyframes fda-ping{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
.fda-badge{position:absolute;top:-4px;left:34px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e5484d;color:#fff;font-size:11.5px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px #050505;transform:scale(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.fda-badge.is-shown{transform:scale(1)}
.fda.is-open .fda-badge{transform:scale(0)}
@media (prefers-reduced-motion:reduce){
  .fda-launch.is-nudge,.fda-launch.is-nudge .fda-launch__av,.fda-launch.is-nudge::after{animation:none}
  .fd-totop,.fd-totop__arrow{transition:none}
}
