/* Плавающая кнопка «Позвонить» (экраны шире 600px; на телефоне есть нижняя панель .mbar) */
.call-float{position:fixed;z-index:19;right:clamp(16px,2.4vw,40px);bottom:clamp(16px,2.4vw,40px);display:flex;align-items:stretch;
  background:var(--ink);color:var(--white);border:1px solid var(--light-line);text-decoration:none;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .45s cubic-bezier(.22,.7,.18,1),transform .45s cubic-bezier(.22,.7,.18,1),visibility .45s,background-color .25s,border-color .25s}
.call-float.is-on{opacity:1;visibility:visible;transform:none}
.call-float__ic{position:relative;display:grid;place-items:center;width:56px;background:var(--accent);color:var(--ink);flex:none}
.call-float__ic svg{width:24px;height:24px;overflow:visible}
.call-float__handset{transform-box:fill-box;transform-origin:50% 100%;animation:call-shake 4s ease-in-out infinite}
.call-float:hover .call-float__handset{animation-duration:1.2s}
@keyframes call-shake{0%,72%,100%{transform:translateY(0) rotate(0)}74%{transform:translateY(-1.5px) rotate(-9deg)}77%{transform:translateY(-1.5px) rotate(8deg)}80%{transform:translateY(-1.5px) rotate(-7deg)}83%{transform:translateY(-1px) rotate(6deg)}86%{transform:translateY(-.5px) rotate(-3deg)}89%{transform:translateY(0) rotate(0)}}
.call-float__tx{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:10px 22px 10px 18px;min-height:56px}
.call-float__tx b{font-size:12px;font-weight:600;letter-spacing:.01em}
.call-float__tx span{font-size:11px;color:#b6b8b4;letter-spacing:.02em;transition:color .25s}
.call-float:hover{background:var(--surface);border-color:var(--accent)}
.call-float:hover .call-float__tx span{color:var(--accent)}
.call-float:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.call-float{display:none}}
@media(prefers-reduced-motion:reduce){.call-float{transition:none}.call-float__handset{animation:none}}
