/* Кнопка звонка распродажи (05.11.2026, владелец) — layouts/pages/bf_callbtn.php. Стиль кнопки «Reduceri» в меню: красная таблетка,
   трубка «звонит» короткими сериями, белая наклейка с наклоном; от кнопки расходится волна (входящий звонок), по ней проходит блик.
   Справа внизу; пока кнопка показана — чат слева (body.bf-callbtn). Без body.bf-on — тот же файл в предпросмотре админки. */
@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/anton/anton-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Anton"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/anton/anton-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

.phone_fix.bfcall { position: fixed; left: auto !important; right: 18px !important; bottom: 22px !important; width: auto; height: auto; z-index: 998; transform: none; transition: bottom .2s; }
.phone_fix.bfcall.bfcall--preview { position: relative; right: auto !important; bottom: auto !important; display: inline-block; margin: 28px 34px 8px 8px; }
.phone_fix.bfcall .bfcall__a {
    position: relative; display: inline-flex; align-items: center; gap: 10px; width: auto; height: 52px; padding: 0 22px 0 8px; border-radius: 999px;
    background: linear-gradient(180deg, #ff2a31, #c40d13); color: #fff !important; text-decoration: none !important; white-space: nowrap;
    font-family: "Onest", system-ui, sans-serif !important; font-weight: 800; font-size: 17px; letter-spacing: .02em; line-height: 1;
    box-shadow: 0 8px 22px rgba(227, 20, 27, .5), inset 0 1px 0 rgba(255, 255, 255, .32);
    animation: bfcGlow 4.8s ease-in-out infinite; transition: transform .2s cubic-bezier(.16, 1, .3, 1);
}
/* трубка — в светлом круге */
/* круг — зелёный, как у привычной кнопки вызова (владелец 05.11.2026): градиент с бликом, светлая окантовка, свечение в такт звонку */
.phone_fix.bfcall .bfcall__ico { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff;
    background: radial-gradient(circle at 35% 28%, #7ef08e 0, #2fcf4a 38%, #149a35 100%);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .9), 0 3px 8px rgba(0, 60, 15, .45), inset 0 -3px 6px rgba(0, 70, 20, .35), inset 0 2px 3px rgba(255, 255, 255, .45);
    animation: bfcIcoGlow 2.4s ease-in-out infinite; }
.phone_fix.bfcall .bfcall__ico svg { filter: drop-shadow(0 1px 1px rgba(0, 60, 15, .5)); }
.phone_fix.bfcall .bfcall__ico svg { display: block; transform-origin: 50% 50%; animation: bfcRing 2.4s ease-in-out infinite; }
.phone_fix.bfcall .bfcall__t { position: relative; z-index: 1; }
/* волна входящего звонка */
.phone_fix.bfcall .bfcall__a::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; border: 2px solid rgba(255, 70, 76, .8);
    animation: bfcWave 2.4s cubic-bezier(.16, 1, .3, 1) infinite;
}
/* блик */
.phone_fix.bfcall .bfcall__a::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .5) 47%, rgba(255, 255, 255, .12) 53%, transparent 70%) no-repeat;
    background-size: 240% 100%; background-position: 170% 0; animation: bfcSheen 4.8s ease-in-out infinite;
}
/* наклейка */
.phone_fix.bfcall .bfcall__tag {
    position: absolute; top: -17px; right: -16px; z-index: 2; padding: 4px 7px 3px; border-radius: 5px; background: #fff; color: #e3141b;
    font-family: "Anton", "Onest", Impact, sans-serif !important; font-weight: 400; font-size: 14px; line-height: 1; letter-spacing: .01em;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .45); transform: rotate(6deg); transform-origin: 25% 100%; animation: bfcTag 4.8s infinite;
}
@media (hover: hover) and (pointer: fine) {
    .phone_fix.bfcall .bfcall__a:hover { transform: translateY(-2px); }
    .phone_fix.bfcall .bfcall__a:hover .bfcall__ico svg { animation-duration: .9s; }
}
.phone_fix.bfcall .bfcall__a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 600px) {
    .phone_fix.bfcall { right: 14px !important; bottom: 16px !important; }
    .phone_fix.bfcall .bfcall__a { height: 48px; padding: 0 18px 0 6px; font-size: 16px; gap: 8px; }
    .phone_fix.bfcall .bfcall__ico { width: 36px; height: 36px; }
    .phone_fix.bfcall .bfcall__tag { font-size: 13px; top: -15px; right: -10px; }
}
/* над панелью покупки на странице товара */
body.pdp2-bar-on .phone_fix.bfcall { bottom: calc(var(--pdp-bar-h, 64px) + 14px) !important; }

@keyframes bfcRing {
    0%, 30%, 100% { transform: rotate(0); }
    3%, 11%, 19% { transform: rotate(-16deg); }
    7%, 15%, 23% { transform: rotate(16deg); }
}
@keyframes bfcIcoGlow {
    0%, 30%, 100% { box-shadow: 0 0 0 2px rgba(255, 255, 255, .9), 0 3px 8px rgba(0, 60, 15, .45), inset 0 -3px 6px rgba(0, 70, 20, .35), inset 0 2px 3px rgba(255, 255, 255, .45); }
    12% { box-shadow: 0 0 0 2px rgba(255, 255, 255, .95), 0 0 14px 4px rgba(70, 230, 100, .75), inset 0 -3px 6px rgba(0, 70, 20, .35), inset 0 2px 3px rgba(255, 255, 255, .5); }
}
@keyframes bfcWave { 0% { transform: scale(1); opacity: .85; } 70%, 100% { transform: scale(1.16, 1.5); opacity: 0; } }
@keyframes bfcSheen { 0%, 64% { background-position: 170% 0; } 82%, 100% { background-position: -70% 0; } }
@keyframes bfcGlow {
    0%, 62%, 100% { box-shadow: 0 8px 22px rgba(227, 20, 27, .5), inset 0 1px 0 rgba(255, 255, 255, .32); }
    76% { box-shadow: 0 10px 32px rgba(255, 45, 52, .9), inset 0 1px 0 rgba(255, 255, 255, .45); }
}
@keyframes bfcTag {
    0%, 72%, 100% { transform: rotate(6deg) scale(1); }
    78% { transform: rotate(-5deg) scale(1.16); animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
    86% { transform: rotate(9deg) scale(1.03); animation-timing-function: cubic-bezier(.16, 1, .3, 1); }
    93% { transform: rotate(5deg) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .phone_fix.bfcall .bfcall__a, .phone_fix.bfcall .bfcall__ico, .phone_fix.bfcall .bfcall__ico svg, .phone_fix.bfcall .bfcall__tag { animation: none; transition: none; }
    .phone_fix.bfcall .bfcall__a::before, .phone_fix.bfcall .bfcall__a::after { animation: none; display: none; }
}

/* чат — слева, пока справа кнопка звонка (настройка callbtn_chat_left) */
body.bf-callbtn #mcChatWidget { right: auto !important; left: 18px !important; }
body.bf-callbtn #mcChatWidget .mcMain { transform-origin: left bottom; }
body.bf-callbtn #mcChatWidget .mcList { right: auto; left: 4px; align-items: flex-start; }
body.bf-callbtn #mcChatWidget .mcItem { flex-direction: row-reverse; }
body.bf-callbtn #mcChatWidget .mcLabel { margin-right: 0; margin-left: 12px; transform: translateX(-6px); }
body.bf-callbtn #mcChatWidget .mcItem:hover .mcLabel { transform: none; }
body.bf-callbtn #mcChatWidget .mcChat { right: auto; left: 0; }
body.bf-callbtn #mcChatWidget .mcGreet { right: auto; left: 74px; }
@media (max-width: 768px) { body.bf-callbtn #mcChatWidget { left: 14px !important; } body.bf-callbtn #mcChatWidget .mcGreet { left: 70px; } }
