/* Голосовой режим команд «🎙» (#819): шрифт ≥18px, кнопки ≥60px — для водителей и старших. Тема «тёплая сцена». */
body.vc-open .bottom-nav { display: none !important; }
.vc-entry { flex: 0 0 auto; width: 44px; height: 44px; font-size: 22px; line-height: 1; padding: 0; background: linear-gradient(160deg, #f7d58c, #e2a94a); border-color: #e2a94a; }

.vc { position: fixed; top: 0; left: 0; right: 0; bottom: auto; height: 100%; z-index: 450; display: flex; flex-direction: column; box-sizing: border-box;
  padding: calc(8px + var(--safe-t, 0px)) 14px calc(10px + var(--safe-b, 0px)); color: #fbf1de; --lv: 0;
  background: radial-gradient(120% 60% at 50% 20%, #4a1520 0%, #2a0f14 55%, #140a0c 100%); }
.vc[hidden], .vc-fabw[hidden], .vc-step[hidden] { display: none !important; }
.vc-top { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.vc-x { flex: 0 0 60px; width: 60px; height: 60px; padding: 0; border: 0; border-radius: 50%; background: rgba(251, 241, 222, .12); color: #fbf1de; font-size: 24px; font-weight: 700; }
.vc-bal { flex: 1 1 auto; min-width: 0; min-height: 60px; display: flex; flex-direction: column; justify-content: center; padding: 4px 18px; border-radius: 30px;
  background: rgba(251, 241, 222, .09); border: 1.5px solid rgba(247, 213, 140, .35); line-height: 1.15; }
.vc-bal-n { font-size: 24px; font-weight: 900; color: #f7d58c; white-space: nowrap; }
.vc-bal-t { font-size: 18px; color: #e3d3ba; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vc-price { flex: 0 0 auto; padding: 6px 4px 0; font-size: 18px; font-weight: 700; color: #f7d58c; text-align: center; line-height: 1.25; }

.vc-chat { position: relative; flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; gap: 10px; padding: 10px 0 6px; }
.vc-hello { flex: 0 0 auto; align-self: flex-start; max-width: 92%; padding: 12px 16px; border-radius: 22px 22px 22px 6px; background: rgba(251, 241, 222, .1); font-size: 20px; font-weight: 600; line-height: 1.3; }
.vc-b { flex: 0 0 auto; max-width: 92%; box-sizing: border-box; padding: 12px 16px; border-radius: 22px; font-size: 20px; line-height: 1.3; word-break: break-word; }
.vc-b:empty { display: none; }
.vc-b.me { align-self: flex-end; background: rgba(247, 213, 140, .2); border-bottom-right-radius: 6px; font-weight: 600; }
.vc-b.bot { align-self: flex-start; background: rgba(251, 241, 222, .1); border-bottom-left-radius: 6px; font-weight: 600; }
.vc-b.bot.has-card { max-width: 100%; width: 100%; }
.vc-b.is-err { color: #ffb4a8; }
.vc-bt:empty { display: none; }
.vc-bt + .vc-card, .vc-bt + .vc-act, .vc-bt + .vc-charged, .vc-bt + .vc-done { margin-top: 10px; }
.vc-b > * + * { margin-top: 10px; }
.vc-typing { display: flex; gap: 7px; align-items: center; padding: 16px 20px; }
.vc-typing i { width: 10px; height: 10px; border-radius: 50%; background: #f7d58c; animation: vcDot 1.1s ease-in-out infinite; }
.vc-typing i:nth-child(2) { animation-delay: .18s; } .vc-typing i:nth-child(3) { animation-delay: .36s; }
@keyframes vcDot { 0%, 100% { transform: translateY(0); opacity: .4; } 50% { transform: translateY(-6px); opacity: 1; } }
.vc-charged { font-size: 18px; color: #e3d3ba; font-weight: 500; }
.vc-done { font-size: 20px; font-weight: 700; color: #f7d58c; line-height: 1.3; }

/* Карточки-ответы */
.vc-card { padding: 12px 14px; border-radius: 18px; background: rgba(20, 10, 12, .55); border: 1.5px solid rgba(247, 213, 140, .3); font-weight: 500; }
.vc-c-t { font-size: 18px; font-weight: 800; color: #f7d58c; line-height: 1.25; }
.vc-c-big { font-size: 40px; font-weight: 900; line-height: 1.1; margin-top: 2px; color: #fbf1de; }
.vc-c-sub { font-size: 18px; color: #e3d3ba; margin-top: 2px; }
.vc-trow, .vc-wrow { display: flex; align-items: center; gap: 10px; min-height: 60px; padding-top: 8px; }
.vc-trow + .vc-trow, .vc-wrow + .vc-wrow { border-top: 1px solid rgba(251, 241, 222, .12); }
.vc-medal { flex: 0 0 34px; text-align: center; font-size: 26px; font-weight: 800; line-height: 1; }
.vc-ava { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #6a2a34; font-size: 24px; font-weight: 800; color: #f7d58c; }
.vc-ava img { width: 52px; height: 52px; object-fit: cover; display: block; border-radius: 50%; }
.vc-ttx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.vc-tn { font-size: 20px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vc-ts { font-size: 18px; color: #f7d58c; font-weight: 600; display: flex; flex-wrap: wrap; column-gap: 12px; }
.vc-tk { white-space: nowrap; }
.vc-cov { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 12px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: #6a2a34; font-size: 26px; }
.vc-cov img { width: 56px; height: 56px; object-fit: cover; display: block; }
.vc-wt { flex: 1 1 auto; min-width: 0; font-size: 20px; font-weight: 700; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vc-wplay { flex: 0 0 60px; width: 60px; height: 60px; border: 0; border-radius: 50%; background: linear-gradient(160deg, #f7d58c, #e2a94a); color: #2a1408; font-size: 26px; font-weight: 900; padding: 0 0 0 4px; }
.vc-opt { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 60px; margin-top: 8px; padding: 0 16px 0 8px; border: 2px solid rgba(247, 213, 140, .45); border-radius: 30px; background: rgba(251, 241, 222, .08); color: #fbf1de; font-size: 20px; font-weight: 700; text-align: left; }
.vc-optn { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, #f7d58c, #e2a94a); color: #2a1408; font-size: 24px; font-weight: 900; }
.vc-optl { flex: 1 1 auto; min-width: 0; line-height: 1.2; }
.vc-opt.is-on { border-color: #8be08b; }
.vc-opt:disabled { opacity: .6; }
.vc-act { display: block; width: 100%; min-height: 60px; padding: 0 20px; border: 0; border-radius: 30px; font-size: 20px; font-weight: 800; background: rgba(251, 241, 222, .14); color: #fbf1de; }
.vc-act.is-gold { background: linear-gradient(160deg, #f7d58c, #e2a94a); color: #2a1408; }

/* Низ: подсказки / «Да, Нет», волна, 🎙 */
.vc-dock { flex: 0 0 auto; display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }
.vc-confirm { width: 100%; padding: 10px 12px 12px; border-radius: 22px; border: 2px solid rgba(247, 213, 140, .6); background: rgba(40, 19, 21, .85); box-sizing: border-box; text-align: center; }
.vc-cost { font-size: 44px; font-weight: 900; color: #f7d58c; line-height: 1.05; }
.vc-about { font-size: 18px; color: #e3d3ba; margin-top: 2px; line-height: 1.25; }
.vc-yn { display: flex; gap: 12px; margin-top: 8px; }
.vc-yes, .vc-no { flex: 1 1 0; min-height: 68px; border: 0; border-radius: 34px; font-size: 26px; font-weight: 900; }
.vc-yes { background: linear-gradient(160deg, #8be08b, #38a85a); color: #0b2a14; }
.vc-no { background: rgba(251, 241, 222, .14); color: #fbf1de; border: 2px solid rgba(251, 241, 222, .35); }
.vc-sg { margin: 0; }
.vc-sg[hidden], .vc-confirm[hidden] { display: none !important; }
.vc:not([data-st="idle"]) .vc-sg { display: none; }
.vc-state { margin-bottom: 20px; }
.vc-stop[hidden] { display: block !important; visibility: hidden; }
.vc-sg-t { padding: 0 2px 4px; font-size: 18px; color: #e3d3ba; }
.vc-sg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.vc-sgb { min-height: 64px; padding: 6px 12px; border: 1.5px solid rgba(247, 213, 140, .5); border-radius: 20px; background: rgba(247, 213, 140, .12); color: #fbf1de;
  font-size: 18px; font-weight: 700; line-height: 1.2; text-align: left; }
.vc-wave { display: flex; align-items: center; justify-content: center; gap: 5px; height: 36px; }
.vc-wave i { width: 6px; height: 34px; border-radius: 3px; background: #f7d58c; opacity: .4; transform: scaleY(.12); transition: transform .09s linear, opacity .25s; }
.vc[data-st="listening"] .vc-wave i { background: #ff8a7a; opacity: 1; }
.vc[data-st="speaking"] .vc-wave i { opacity: 1; transition: none; animation: vcBar .9s ease-in-out infinite; animation-delay: var(--d); }
.vc[data-st="thinking"] .vc-wave i { opacity: .8; transition: none; animation: vcBarS 1.2s ease-in-out infinite; animation-delay: var(--d); }
@keyframes vcBar { 0%, 100% { transform: scaleY(.14); } 50% { transform: scaleY(calc(.3 + var(--k) * .7)); } }
@keyframes vcBarS { 0%, 100% { transform: scaleY(.12); } 50% { transform: scaleY(.3); } }
.vc-state { text-align: center; font-size: 22px; font-weight: 800; line-height: 1.15; min-height: 26px; color: #fbf1de; }
.vc-ctl { display: flex; align-items: center; justify-content: space-between; padding-top: 2px; }
.vc-sp { flex: 0 0 60px; }
.vc-stop { flex: 0 0 60px; width: 60px; height: 60px; padding: 0; border: 0; border-radius: 50%; font-size: 24px; color: #fff; background: #b3262b; }

.vc-mic, .vc-fab { position: relative; flex: 0 0 auto; border: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, #f7d58c, #e2a94a 60%, #c4852b); color: #2a1408; box-shadow: 0 8px 26px rgba(226, 169, 74, .35); -webkit-tap-highlight-color: transparent; padding: 0; }
.vc-mic { width: 92px; height: 92px; }
.vc-mic:disabled { opacity: .4; box-shadow: none; }
.vc-ico { position: relative; z-index: 1; font-size: 42px; line-height: 1; }
.vc-ring { position: absolute; inset: 0; border-radius: 50%; border: 3px solid rgba(247, 213, 140, .55); opacity: 0; pointer-events: none; }
.vc[data-st="listening"] .vc-mic, .vc-fabw[data-st="listening"] .vc-fab { background: linear-gradient(160deg, #ff8a7a, #e5484d 65%, #b3262b); box-shadow: 0 8px 26px rgba(229, 72, 77, .45); color: #fff; }
.vc[data-st="listening"] .vc-ring, .vc-fabw[data-st="listening"] .vc-ring { opacity: 1; transform: scale(calc(1.05 + var(--lv) * .3)); transition: transform .08s linear; border-color: rgba(255, 138, 122, .7); }
.vc[data-st="listening"] .vc-ring2, .vc-fabw[data-st="listening"] .vc-ring2 { transform: scale(calc(1.12 + var(--lv) * .4)); opacity: .55; }
.vc[data-st="thinking"] .vc-mic, .vc-fabw[data-st="thinking"] .vc-fab { animation: vcThink 1.2s ease-in-out infinite; }
.vc[data-st="speaking"] .vc-ring, .vc-fabw[data-st="speaking"] .vc-ring { opacity: 1; animation: vcTalk 1.1s ease-out infinite; }
.vc[data-st="speaking"] .vc-ring2, .vc-fabw[data-st="speaking"] .vc-ring2 { animation-delay: .55s; }
@keyframes vcThink { 50% { transform: scale(.94); opacity: .8; } }
@keyframes vcTalk { from { transform: scale(1); opacity: .8; } to { transform: scale(1.5); opacity: 0; } }

@media (max-height: 680px) {
  .vc-mic { width: 76px; height: 76px; }
  .vc-ico { font-size: 34px; }
  .vc-sg-t, .vc-about { display: none; }
  .vc-c-big { font-size: 32px; }
  .vc-cost { font-size: 36px; }
}

/* Свёрнутый голос: плавающая 🎙 поверх настоящего раздела */
.vc-fabw { position: fixed; right: var(--fx, 12px); bottom: calc(var(--fy, 92px) + var(--safe-b, 0px)); z-index: 1450; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; --lv: 0; pointer-events: none; }
.vc-fabw > * { pointer-events: auto; }
.vc-fabw.is-top { top: calc(6px + var(--safe-t, 0px)); bottom: auto; right: 10px; flex-direction: column-reverse; align-items: flex-end; }
.vc-fabw.is-top .vc-fab-x { display: none; }
.vc-fabw.is-top .vc-fab { width: 60px; height: 60px; }
.vc-fabbox { display: flex; align-items: center; gap: 10px; }
.vc-fab { width: 72px; height: 72px; font-size: 30px; touch-action: none; }
.vc-fab-ico { position: relative; z-index: 1; font-size: 30px; line-height: 1; }
.vc-fab-x { flex: 0 0 60px; width: 60px; height: 60px; padding: 0; border-radius: 50%; background: #2a0f14; color: #fbf1de; border: 2px solid rgba(247, 213, 140, .7); font-size: 24px; font-weight: 800; box-shadow: 0 6px 18px rgba(0, 0, 0, .4); }
.vc-cap { max-width: 280px; padding: 12px 16px; border-radius: 20px 20px 6px 20px; background: #2a0f14; color: #fbf1de; border: 1.5px solid rgba(247, 213, 140, .6); box-shadow: 0 6px 22px rgba(0, 0, 0, .4); font-size: 18px; font-weight: 600; line-height: 1.3; }
.vc-step { position: fixed; left: 12px; right: 12px; top: calc(10px + var(--safe-t, 0px)); z-index: 1460; margin: 0 auto; max-width: 340px; padding: 12px 18px; border-radius: 30px; text-align: center;
  background: linear-gradient(160deg, #f7d58c, #e2a94a); color: #2a1408; font-size: 20px; font-weight: 800; box-shadow: 0 8px 24px rgba(0, 0, 0, .4); pointer-events: none; }
.vc-hl { outline: 3px solid #f7d58c !important; outline-offset: 2px; border-radius: 10px; box-shadow: 0 0 0 6px rgba(247, 213, 140, .35), 0 0 22px rgba(247, 213, 140, .7) !important; animation: vcHl 1s ease-in-out infinite; }
@keyframes vcHl { 50% { box-shadow: 0 0 0 10px rgba(247, 213, 140, .18), 0 0 30px rgba(247, 213, 140, .9); } }

/* Профиль: переключатель «Открывать сразу в голосовом режиме» */
.vc-prof { display: flex; flex-direction: column; gap: 10px; margin: 14px 0; padding: 14px; border-radius: 18px; border: 1.5px solid rgba(242, 196, 109, .35); background: rgba(40, 19, 21, .6); color: #fbf1de; }
.vc-prof-t { font-size: 18px; color: #f7d58c; }
.vc-prof-row { display: flex; align-items: center; gap: 14px; min-height: 60px; font-size: 18px; line-height: 1.3; cursor: pointer; }
.vc-sw { width: 32px; height: 32px; flex: 0 0 auto; accent-color: #e2a94a; }
.vc-prof-note { font-size: 16px; color: #e3d3ba; line-height: 1.35; }

/* v2: дата работы, подпись варианта, карточка цен */
.vc-wd, .vc-optl small { display: block; font-size: 18px; font-weight: 500; color: #e3d3ba; line-height: 1.2; }
.vc-prow { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 60px; padding-top: 8px; font-size: 20px; font-weight: 700; }
.vc-prow + .vc-prow { border-top: 1px solid rgba(251, 241, 222, .12); }
.vc-pn { flex: 1 1 auto; min-width: 0; }
.vc-pv { flex: 0 0 auto; text-align: right; color: #f7d58c; white-space: nowrap; }
.vc-pv small { display: block; font-size: 18px; font-weight: 500; color: #e3d3ba; }
