.floating-tools{--fc-size:48px;--fc-mobile-size:42px;--fc-edge:20px;--fc-bottom:110px;--fc-seconds:2.6s;--fc-delay:.6s}
.floating-contact{position:fixed;z-index:42;left:max(var(--fc-edge),env(safe-area-inset-left));bottom:calc(var(--fc-bottom) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:15px;isolation:isolate}
.floating-tools[data-side=right] .floating-contact{left:auto;right:max(var(--fc-edge),env(safe-area-inset-right))}
.fc-link{--fc-color:#1683ff;display:grid;place-items:center;position:relative;width:var(--fc-size);height:var(--fc-size);border-radius:50%;color:#fff;text-decoration:none;isolation:isolate;flex:none;animation:fc-enter .55s both;animation-delay:var(--fc-delay)}
.fc-link:nth-child(2){animation-delay:calc(var(--fc-delay) + .1s)}
.fc-link:nth-child(3){animation-delay:calc(var(--fc-delay) + .2s)}
.fc-link:nth-child(4){animation-delay:calc(var(--fc-delay) + .3s)}
.fc-facebook{--fc-color:#1877f2}.fc-messenger{--fc-color:#a13df5}.fc-zalo{--fc-color:#008ff4}.fc-phone{--fc-color:#ff1e2b}
.fc-link::before,.fc-link::after{content:"";position:absolute;inset:-3px;z-index:-1;background:var(--fc-color);border-radius:50%;opacity:0;pointer-events:none;animation:fc-ripple var(--fc-seconds) ease-out infinite;animation-delay:calc(var(--fc-delay) + .5s)}
.fc-link::after{animation-delay:calc(var(--fc-delay) + 1.1s)}
.fc-face{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--fc-color);box-shadow:0 3px 12px #071d3029,inset 0 0 0 1px #ffffff32;transition:box-shadow .2s,filter .2s}
.fc-messenger .fc-face{background:linear-gradient(145deg,#d342ee,#7535fa)}
.fc-link .fc-glyph{width:65%;height:65%;display:block;animation:fc-wiggle var(--fc-seconds) ease-in-out infinite;animation-delay:calc(var(--fc-delay) + .4s);transform-origin:50% 60%}
.fc-link:is(:hover,:focus-visible){color:#fff;outline:3px solid #fff;outline-offset:4px}
.fc-link:is(:hover,:focus-visible) .fc-face{filter:brightness(1.08);box-shadow:0 5px 20px #071d3050}
.fc-link:is(:hover,:focus-visible) .fc-glyph{animation-play-state:paused}
.fc-tip{position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%) translateX(-4px);background:#122b25;color:#fff;font:700 12px/1.45 Arial,sans-serif;white-space:nowrap;padding:8px 12px;border-radius:8px;box-shadow:0 3px 14px #0002;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s}
.floating-tools[data-side=right] .fc-tip,.fc-back-top .fc-tip{left:auto;right:calc(100% + 14px);transform:translateY(-50%) translateX(4px)}
.fc-link:is(:hover,:focus-visible) .fc-tip,.fc-back-top:is(:hover,:focus-visible) .fc-tip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.fc-back-top{position:fixed;z-index:42;right:max(var(--fc-edge),env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));display:grid;place-items:center;width:44px;height:44px;border:1px solid #d4e5dc;border-radius:50%;background:#fff;color:#207556;box-shadow:0 4px 18px #0d332526;cursor:pointer;animation:fc-enter .25s both}
.fc-back-top[hidden]{display:none}.fc-back-top>.fc-glyph{width:24px;height:24px}
.fc-back-top:is(:hover,:focus-visible){background:#e9f7ef;color:#174e39;box-shadow:0 6px 22px #0d33253b}
html[data-theme=neon] .fc-back-top{background:#09242b;color:#6aebff;border-color:#276578;box-shadow:0 3px 16px #00dfff21}
.fc-still .fc-link,.fc-still .fc-glyph,.fc-still .fc-back-top{animation:none}.fc-still .fc-link::before,.fc-still .fc-link::after{display:none}
body:has(dialog[open]) :is(.floating-contact,.fc-back-top){visibility:hidden;pointer-events:none}
@keyframes fc-enter{from{opacity:0;transform:translateY(14px) scale(.78)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fc-ripple{0%{opacity:.27;transform:scale(.85)}75%,100%{opacity:0;transform:scale(1.65)}}
@keyframes fc-wiggle{0%,45%,100%{transform:rotate(0)}8%,22%{transform:rotate(-13deg)}15%,30%{transform:rotate(12deg)}37%{transform:rotate(-6deg)}}
@media(min-width:1001px){.fc-no-desktop{display:none}}
@media(max-width:1000px){.fc-no-mobile{display:none}.floating-contact{--fc-size:var(--fc-mobile-size);gap:13px;left:max(14px,env(safe-area-inset-left));bottom:calc(max(104px,var(--fc-bottom)) + env(safe-area-inset-bottom))}.floating-tools[data-side=right] .floating-contact{right:max(14px,env(safe-area-inset-right))}.fc-back-top{width:42px;height:42px;right:max(14px,env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom))}.floating-tools[data-side=right] .floating-contact{bottom:calc(max(150px,var(--fc-bottom)) + env(safe-area-inset-bottom))}.fc-tip{max-width:calc(100vw - 100px);white-space:normal;width:max-content}body:has(input:focus,textarea:focus,select:focus) :is(.floating-contact,.fc-back-top){visibility:hidden;pointer-events:none}}
@media(max-height:500px) and (max-width:1000px){.floating-contact{--fc-size:36px;gap:9px;bottom:94px}.floating-tools[data-side=right] .floating-contact{bottom:144px}}
@media(prefers-reduced-motion:reduce){.fc-link,.fc-glyph,.fc-back-top{animation:none!important}.fc-link::before,.fc-link::after{display:none}.fc-face,.fc-tip{transition:none}}
@media print{.floating-tools{display:none!important}}
