/* ============================================
   PremiumVault Chat — Telegram DM look (V14)
   Tema claro = o fundo padrão do Telegram (degradê verde + desenhos).
   Modo noturno opcional (menu ⋮ → Night mode).
   ============================================ */
.pvc {
    --pvc-doodles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' fill='none' stroke='%23284a1c' stroke-opacity='.16' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 36l34-15-12 31-5-13zm17 3l17-18'/%3E%3Cpath d='M150 40c0-8 12-8 12 0 0-8 12-8 12 0 0 10-12 15-12 20 0-5-12-10-12-20z'/%3E%3Cpath d='M100 78l4 9 10 1-7 7 2 10-9-5-9 5 2-10-7-7 10-1z'/%3E%3Ccircle cx='200' cy='130' r='12'/%3E%3Cpath d='M194 133q6 6 12 0'/%3E%3Cpath d='M40 176v-26l16-4v22'/%3E%3Cellipse cx='36' cy='176' rx='5' ry='4'/%3E%3Cellipse cx='52' cy='168' rx='5' ry='4'/%3E%3Cpath d='M118 206l6-11 6 8h8l6-8 6 11v10a16 12 0 0 1-32 0z'/%3E%3Cpath d='M170 206a8 8 0 0 1 15-4 6 6 0 0 1 10 5h-25'/%3E%3Cpath d='M82 20a10 10 0 1 0 10 14 8 8 0 1 1-10-14z'/%3E%3Cpath d='M200 52h24v18h-24zm-2-7h28v7h-28zm14 0v25'/%3E%3Cpath d='M18 92h32v22H18zm8-5h10'/%3E%3Ccircle cx='34' cy='103' r='6'/%3E%3Ccircle cx='120' cy='140' r='3'/%3E%3Ccircle cx='70' cy='120' r='2'/%3E%3Ccircle cx='228' cy='205' r='2.5'/%3E%3Cpath d='M76 222l8-8m0 8l-8-8M220 18l6 6m0-6l-6 6'/%3E%3C/svg%3E");
    --pvc-wall: #a9c49a;
    --pvc-wall-a: #dbddbb;
    --pvc-wall-b: #88b884;
    --pvc-wall-c: #d5d88d;
    --pvc-wall-d: #6ba587;
    --pvc-head: #ffffff;
    --pvc-head-text: #000000;
    --pvc-online: #3390ec;
    --pvc-in: #ffffff;
    --pvc-out: #eeffde;
    --pvc-text: #000000;
    --pvc-meta-in: #a0acb6;
    --pvc-meta-out: #4fae4e;
    --pvc-link: #168acd;
    --pvc-card: #f1f3f5;
    --pvc-muted: #707579;
    --pvc-price: #2e9e4f;
    --pvc-kbd: rgba(0, 0, 0, .17);
    --pvc-kbd-hover: rgba(0, 0, 0, .26);
    --pvc-kbd-text: #ffffff;
    --pvc-date: rgba(0, 0, 0, .2);
    --pvc-input: #ffffff;
    --pvc-icon: #8b98a4;
    --pvc-accent: #3390ec;
    --pvc-menu: #ffffff;
    --pvc-menu-hover: #f1f3f5;
    --pvc-code: #2b3a47;
    --pvc-radius: 15px;
}
.pvc.night {
    --pvc-doodles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 36l34-15-12 31-5-13zm17 3l17-18'/%3E%3Cpath d='M150 40c0-8 12-8 12 0 0-8 12-8 12 0 0 10-12 15-12 20 0-5-12-10-12-20z'/%3E%3Cpath d='M100 78l4 9 10 1-7 7 2 10-9-5-9 5 2-10-7-7 10-1z'/%3E%3Ccircle cx='200' cy='130' r='12'/%3E%3Cpath d='M194 133q6 6 12 0'/%3E%3Cpath d='M40 176v-26l16-4v22'/%3E%3Cellipse cx='36' cy='176' rx='5' ry='4'/%3E%3Cellipse cx='52' cy='168' rx='5' ry='4'/%3E%3Cpath d='M118 206l6-11 6 8h8l6-8 6 11v10a16 12 0 0 1-32 0z'/%3E%3Cpath d='M170 206a8 8 0 0 1 15-4 6 6 0 0 1 10 5h-25'/%3E%3Cpath d='M82 20a10 10 0 1 0 10 14 8 8 0 1 1-10-14z'/%3E%3Cpath d='M200 52h24v18h-24zm-2-7h28v7h-28zm14 0v25'/%3E%3Cpath d='M18 92h32v22H18zm8-5h10'/%3E%3Ccircle cx='34' cy='103' r='6'/%3E%3Ccircle cx='120' cy='140' r='3'/%3E%3Ccircle cx='70' cy='120' r='2'/%3E%3Ccircle cx='228' cy='205' r='2.5'/%3E%3Cpath d='M76 222l8-8m0 8l-8-8M220 18l6 6m0-6l-6 6'/%3E%3C/svg%3E");
    --pvc-wall: #0f1a24;
    --pvc-wall-a: #1a3542;
    --pvc-wall-b: #0f1a24;
    --pvc-wall-c: #1a2b25;
    --pvc-wall-d: #0b131b;
    --pvc-head: #17212b;
    --pvc-head-text: #f5f5f5;
    --pvc-online: #5eb5f7;
    --pvc-in: #182533;
    --pvc-out: #2b5278;
    --pvc-text: #f5f5f5;
    --pvc-meta-in: #6d8193;
    --pvc-meta-out: #7da8d3;
    --pvc-link: #6ab3f3;
    --pvc-card: rgba(0, 0, 0, .22);
    --pvc-muted: #9fb0bf;
    --pvc-price: #7ee07a;
    --pvc-kbd: rgba(94, 181, 247, .14);
    --pvc-kbd-hover: rgba(94, 181, 247, .24);
    --pvc-kbd-text: #e8f3ff;
    --pvc-date: rgba(0, 0, 0, .35);
    --pvc-input: #17212b;
    --pvc-icon: #6d8193;
    --pvc-accent: #5eb5f7;
    --pvc-menu: #1f2c38;
    --pvc-menu-hover: rgba(255, 255, 255, .06);
    --pvc-code: #cfe3f5;
}

/* ---------- Launcher ---------- */
.pvc-launcher {
    position: fixed; right: 20px; bottom: 20px; z-index: 1040;
    width: 58px; height: 58px; border-radius: 50%; border: 0;
    background: linear-gradient(135deg, #2aabee, #229ed9);
    color: #fff; font-size: 1.55rem; cursor: pointer;
    box-shadow: 0 6px 22px rgba(34, 158, 217, .45);
    display: flex; align-items: center; justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease;
}
.pvc-launcher:hover { transform: scale(1.07); box-shadow: 0 8px 28px rgba(34, 158, 217, .6); }
.pvc-launcher:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.pvc-launcher .pvc-badge {
    position: absolute; top: -2px; right: -2px; min-width: 22px; height: 22px; padding: 0 6px;
    border-radius: 11px; background: #e5534b; color: #fff; font-size: .75rem; font-weight: 700;
    display: none; align-items: center; justify-content: center; border: 2px solid #0d0d0d;
}
.pvc-launcher.has-badge .pvc-badge { display: flex; }
.pvc-launcher i { margin-left: -3px; }

.pvc-teaser {
    position: fixed; right: 88px; bottom: 30px; z-index: 1040; max-width: 260px;
    background: #fff; color: #000; padding: 9px 34px 9px 13px;
    border-radius: 16px 16px 4px 16px; font-size: .9rem; line-height: 1.35; cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .35); animation: pvc-pop .35s ease;
    font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.pvc-teaser b { color: #3390ec; display: block; font-size: .8rem; margin-bottom: 2px; }
.pvc-teaser .pvc-x {
    position: absolute; top: 4px; right: 6px; background: none; border: 0; color: #8b98a4;
    font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 4px;
}

/* ---------- Window ---------- */
.pvc {
    position: fixed; right: 20px; bottom: 90px; z-index: 1050;
    width: 400px; height: min(660px, calc(100vh - 120px));
    color: var(--pvc-text); border-radius: 14px; overflow: hidden;
    display: flex; flex-direction: column;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .55);
    font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    transform-origin: bottom right; animation: pvc-open .22s ease;
    background-color: var(--pvc-wall);
    background-image:
        var(--pvc-doodles),
        radial-gradient(circle at 15% 18%, var(--pvc-wall-a) 0, transparent 55%),
        radial-gradient(circle at 88% 22%, var(--pvc-wall-b) 0, transparent 52%),
        radial-gradient(circle at 18% 88%, var(--pvc-wall-c) 0, transparent 55%),
        radial-gradient(circle at 85% 82%, var(--pvc-wall-d) 0, transparent 55%);
    background-size: 240px 240px, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
}
.pvc[hidden] { display: none; }

@keyframes pvc-open { from { opacity: 0; transform: scale(.92) translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes pvc-pop  { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.pvc-head {
    position: relative; display: flex; align-items: center; gap: 10px; padding: 7px 8px;
    background: var(--pvc-head); color: var(--pvc-head-text); flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
.pvc-iconbtn {
    background: none; border: 0; color: var(--pvc-icon); width: 40px; height: 40px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.1rem; flex-shrink: 0;
}
.pvc-iconbtn:hover { background: var(--pvc-menu-hover); color: var(--pvc-accent); }
.pvc-ava {
    width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0; position: relative;
    background: linear-gradient(135deg, #72d5fd, #2a9ef1); color: #fff; font-weight: 700; font-size: 1.1rem;
    display: flex; align-items: center; justify-content: center;
}
.pvc-ava img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.pvc-ava::after {
    content: ''; position: absolute; right: 0; bottom: 1px; width: 11px; height: 11px; border-radius: 50%;
    background: #4fce5d; border: 2px solid var(--pvc-head);
}
.pvc-who { flex: 1; min-width: 0; line-height: 1.25; }
.pvc-name { font-weight: 600; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pvc-name .pvc-verified { color: var(--pvc-accent); font-size: .85rem; margin-left: 4px; }
.pvc-status { font-size: .82rem; color: var(--pvc-online); }

.pvc-menu {
    position: absolute; top: 54px; right: 8px; background: var(--pvc-menu); color: var(--pvc-text); border-radius: 12px; padding: 6px 0;
    min-width: 220px; box-shadow: 0 10px 30px rgba(0, 0, 0, .3); z-index: 5; animation: pvc-pop .15s ease;
}
.pvc-menu[hidden] { display: none; }
.pvc-menu button {
    display: flex; gap: 12px; align-items: center; width: 100%; background: none; border: 0; color: inherit;
    padding: 10px 16px; font-size: .92rem; text-align: left; cursor: pointer;
}
.pvc-menu button:hover { background: var(--pvc-menu-hover); }
.pvc-menu i { width: 18px; color: var(--pvc-icon); }

/* ---------- Messages ---------- */
.pvc-body {
    flex: 1; overflow-y: auto; overflow-x: hidden; padding: 8px 10px 6px;
    overscroll-behavior: contain;
}
.pvc-body::-webkit-scrollbar { width: 5px; }
.pvc-body::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, .18); border-radius: 3px; }

.pvc-date { text-align: center; margin: 6px 0 8px; }
.pvc-date span { background: var(--pvc-date); color: #fff; font-size: .8rem; font-weight: 500; padding: 3px 10px; border-radius: 12px; }

.pvc-row { display: flex; margin: 2px 0; animation: pvc-pop .18s ease; }
.pvc-row.out { justify-content: flex-end; }
.pvc-row.first { margin-top: 8px; }

.pvc-bubble {
    position: relative; max-width: 84%; padding: 6px 9px 6px 10px; border-radius: var(--pvc-radius);
    background: var(--pvc-in); color: var(--pvc-text); font-size: .95rem; line-height: 1.36; overflow-wrap: anywhere;
    box-shadow: 0 1px 2px rgba(16, 35, 47, .15);
}
.pvc-row.out .pvc-bubble { background: var(--pvc-out); }
.pvc-row.in.last .pvc-bubble  { border-bottom-left-radius: 4px; }
.pvc-row.out.last .pvc-bubble { border-bottom-right-radius: 4px; }
.pvc-row.in.last .pvc-bubble::before, .pvc-row.out.last .pvc-bubble::before {
    content: ''; position: absolute; bottom: 0; width: 10px; height: 14px;
}
.pvc-row.in.last .pvc-bubble::before  { left: -7px;  background: radial-gradient(circle at 0 0, transparent 9px, var(--pvc-in) 10px); }
.pvc-row.out.last .pvc-bubble::before { right: -7px; background: radial-gradient(circle at 100% 0, transparent 9px, var(--pvc-out) 10px); }
.pvc-bubble b { font-weight: 600; }
.pvc-bubble s { color: var(--pvc-muted); }
.pvc-bubble a { color: var(--pvc-link); text-decoration: none; }
.pvc-bubble a:hover { text-decoration: underline; }
.pvc-meta { float: right; margin: 7px 0 -4px 10px; font-size: .72rem; color: var(--pvc-meta-in); white-space: nowrap; user-select: none; }
.pvc-row.out .pvc-meta { color: var(--pvc-meta-out); }
.pvc-meta .pvc-check { margin-left: 3px; font-size: .72rem; }

.pvc-bubble.wide { width: 84%; }
.pvc-bubble.media { padding: 3px; }
.pvc-bubble img.pvc-photo { display: block; max-width: 100%; max-height: 240px; border-radius: 12px; }

.pvc-typing .pvc-bubble { padding: 11px 14px; }
.pvc-dots { display: inline-flex; gap: 4px; }
.pvc-dots span { width: 7px; height: 7px; border-radius: 50%; background: var(--pvc-meta-in); animation: pvc-blink 1.2s infinite; }
.pvc-dots span:nth-child(2) { animation-delay: .2s; }
.pvc-dots span:nth-child(3) { animation-delay: .4s; }
@keyframes pvc-blink { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }

/* ---------- Inline keyboard (Telegram buttons) ---------- */
.pvc-kbd { display: flex; flex-wrap: wrap; gap: 4px; margin: 4px 0 6px; max-width: 84%; }
.pvc-kbd button {
    flex: 1 1 calc(50% - 4px); min-width: 120px; border: 0; border-radius: 10px; padding: 9px 10px;
    background: var(--pvc-kbd); color: var(--pvc-kbd-text); font-size: .87rem; font-weight: 500; cursor: pointer;
    transition: background .15s ease; backdrop-filter: blur(8px);
}
.pvc-kbd button:hover { background: var(--pvc-kbd-hover); }
.pvc-kbd button:disabled { opacity: .5; cursor: default; }
.pvc-kbd.col button { flex-basis: 100%; }

/* ---------- Product cards ---------- */
.pvc-products { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.pvc-prod { display: flex; gap: 10px; align-items: center; background: var(--pvc-card); border-radius: 12px; padding: 6px; }
.pvc-prod-thumb {
    width: 64px; height: 64px; border-radius: 10px; object-fit: cover; flex-shrink: 0; background: #d9dee3;
    display: flex; align-items: center; justify-content: center; color: var(--pvc-muted); cursor: pointer;
}
.pvc-prod-info { flex: 1; min-width: 0; }
.pvc-prod-title { font-weight: 600; font-size: .9rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pvc-prod-price { font-size: .88rem; margin-top: 2px; }
.pvc-prod-price s { color: var(--pvc-muted); margin-right: 4px; }
.pvc-prod-price strong { color: var(--pvc-price); }
.pvc-prod-actions { display: flex; gap: 4px; margin-top: 5px; }
.pvc-prod-actions button, .pvc-prod-actions a {
    border: 0; border-radius: 8px; padding: 5px 10px; font-size: .8rem; font-weight: 600; cursor: pointer; text-decoration: none !important;
}
.pvc-buy { background: var(--pvc-accent); color: #fff; }
.pvc-buy:hover { filter: brightness(.93); }
.pvc-view { background: rgba(0, 0, 0, .07); color: var(--pvc-text) !important; }
.pvc.night .pvc-view { background: rgba(255, 255, 255, .08); }

.pvc-prod.big { flex-direction: column; align-items: stretch; padding: 0; overflow: hidden; }
.pvc-prod.big .pvc-prod-thumb { width: 100%; height: 170px; border-radius: 0; }
.pvc-prod.big .pvc-prod-info { padding: 8px 10px 10px; }
.pvc-prod.big .pvc-prod-title { font-size: .97rem; -webkit-line-clamp: 3; }
.pvc-prod.big .pvc-prod-short { font-size: .82rem; color: var(--pvc-muted); margin-top: 3px; }
.pvc-prod.big .pvc-prod-actions button, .pvc-prod.big .pvc-prod-actions a { padding: 8px 12px; font-size: .88rem; }
.pvc-prod.big .pvc-buy { flex: 1; }

/* ---------- Orders ---------- */
.pvc-order { display: flex; gap: 8px; align-items: center; padding: 6px 0; border-bottom: 1px solid rgba(0, 0, 0, .07); }
.pvc-order:last-child { border-bottom: 0; }
.pvc-order img, .pvc-order .ph { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; flex-shrink: 0; background: #d9dee3; }
.pvc-order-info { flex: 1; min-width: 0; font-size: .85rem; }
.pvc-order-title { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pvc-order-sub { color: var(--pvc-muted); font-size: .74rem; }
.pvc-pill { display: inline-block; font-size: .72rem; padding: 1px 7px; border-radius: 8px; margin-top: 2px; }
.pvc-pill.ok { background: rgba(79, 174, 78, .18); color: #2e8b2d; }
.pvc-pill.wait { background: rgba(255, 170, 0, .18); color: #b07800; }
.pvc.night .pvc-pill.ok { color: #8fe28e; }
.pvc.night .pvc-pill.wait { color: #ffd666; }
.pvc-order a.pvc-open { background: var(--pvc-accent); color: #fff !important; border-radius: 8px; padding: 5px 10px; font-size: .8rem; font-weight: 600; }

/* ---------- Delivery ---------- */
.pvc-deliver-title { font-weight: 700; font-size: 1rem; margin-bottom: 4px; }
.pvc-open-big {
    display: block; text-align: center; margin: 8px 0 6px; padding: 11px; border-radius: 10px;
    background: linear-gradient(135deg, #43a047, #2e7d32); color: #fff !important; font-weight: 700; text-decoration: none !important;
}
.pvc-linkbox { display: flex; gap: 6px; align-items: center; background: var(--pvc-card); border-radius: 8px; padding: 6px 8px; font-size: .8rem; margin-top: 4px; }
.pvc-linkbox code { flex: 1; color: var(--pvc-code); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: none; font-size: .8rem; }
.pvc-copy { border: 0; background: var(--pvc-accent); color: #fff; border-radius: 6px; padding: 4px 9px; font-size: .76rem; cursor: pointer; white-space: nowrap; font-weight: 600; }
.pvc-copy:hover { filter: brightness(.93); }
.pvc-note { font-size: .8rem; color: var(--pvc-muted); margin-top: 6px; }

/* ---------- Pay widgets ---------- */
.pvc-pay-title { font-weight: 600; margin-bottom: 6px; }
.pvc-amount { font-size: 1.15rem; font-weight: 700; color: var(--pvc-price); }
.pvc-qr { display: block; margin: 8px auto; width: 170px; height: 170px; background: #fff; padding: 6px; border-radius: 10px; }
.pvc-status-line { font-size: .82rem; color: var(--pvc-muted); margin-top: 6px; display: flex; gap: 6px; align-items: center; }
.pvc-status-line:empty { display: none; }
.pvc-status-line.ok { color: #2e9e4f; }
.pvc-status-line.err { color: #d93f3f; }
.pvc-pay-btn {
    width: 100%; border: 0; border-radius: 10px; padding: 10px; margin-top: 8px; font-weight: 700; color: #fff !important;
    background: var(--pvc-accent); cursor: pointer; font-size: .93rem; text-align: center; display: block; text-decoration: none !important;
}
.pvc-pay-btn.paypal { background: #0070ba; }
.pvc-pay-btn:disabled { opacity: .6; cursor: default; }
.pvc-stripe, .pvc-paypal { background: #fff; border-radius: 10px; padding: 10px; margin-top: 4px; min-height: 56px; border: 1px solid rgba(0, 0, 0, .08); }
.pvc-paypal { padding-bottom: 2px; }
.pvc-steps { margin: 6px 0 0; padding-left: 18px; font-size: .86rem; }
.pvc-steps li { margin: 2px 0; }
.pvc-spin {
    width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(0, 0, 0, .15); border-top-color: var(--pvc-accent);
    animation: pvc-rot .8s linear infinite; display: inline-block; flex-shrink: 0;
}
@keyframes pvc-rot { to { transform: rotate(360deg); } }

/* ---------- Composer (floating like Telegram) ---------- */
.pvc-suggest { display: flex; gap: 6px; overflow-x: auto; padding: 4px 10px 2px; flex-shrink: 0; scrollbar-width: none; }
.pvc-suggest:empty, .pvc-suggest[hidden] { display: none; }
.pvc-suggest::-webkit-scrollbar { display: none; }
.pvc-suggest button {
    flex-shrink: 0; border: 0; background: var(--pvc-kbd); color: var(--pvc-kbd-text); backdrop-filter: blur(8px);
    border-radius: 16px; padding: 6px 12px; font-size: .82rem; font-weight: 500; cursor: pointer; white-space: nowrap;
}
.pvc-compose { display: flex; align-items: flex-end; gap: 6px; padding: 6px 8px 10px; flex-shrink: 0; }
.pvc-inputwrap {
    flex: 1; display: flex; align-items: flex-end; background: var(--pvc-input); border-radius: 22px 22px 6px 22px;
    box-shadow: 0 1px 2px rgba(16, 35, 47, .15); padding: 0 4px; min-height: 46px;
}
.pvc-inputwrap textarea {
    flex: 1; resize: none; border: 0; outline: none; background: transparent; color: var(--pvc-text);
    font-size: 16px; line-height: 1.35; max-height: 120px; padding: 12px 4px; font-family: inherit;
}
.pvc-inputwrap textarea::placeholder { color: var(--pvc-icon); }
.pvc-send {
    width: 46px; height: 46px; border-radius: 50%; border: 0; flex-shrink: 0; cursor: pointer;
    background: var(--pvc-accent); color: #fff; font-size: 1.1rem; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 1px 2px rgba(16, 35, 47, .2); transition: transform .12s ease;
}
.pvc-send:active { transform: scale(.94); }
.pvc-send i { margin-left: -2px; }
.pvc-attach.pulse { color: var(--pvc-accent); animation: pvc-pulse 1.4s infinite; }
@keyframes pvc-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.18); } }

/* ---------- Mobile: full screen like the Telegram app ---------- */
@media (max-width: 575.98px) {
    .pvc { right: 0; bottom: 0; width: 100%; height: 100%; height: 100dvh; border-radius: 0; }
    .pvc-launcher { right: 14px; bottom: 14px; width: 54px; height: 54px; }
    .pvc-teaser { right: 76px; bottom: 22px; max-width: 210px; }
    body.pvc-lock { overflow: hidden; }
    .pvc-bubble, .pvc-kbd { max-width: 88%; }
    .pvc-bubble.wide { width: 88%; }
}

/* ---------- Live search suggestions (navbar) ---------- */
.pv-suggest {
    position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 1060; background: #151515; min-width: 280px;
    border: 1px solid rgba(255, 255, 255, .1); border-radius: 10px; overflow: hidden; box-shadow: 0 12px 30px rgba(0, 0, 0, .6);
}
.pv-suggest a { display: flex; gap: 10px; align-items: center; padding: 8px 10px; color: #eee; text-decoration: none; font-size: .88rem; }
.pv-suggest a:hover, .pv-suggest a.active { background: rgba(229, 9, 20, .12); }
.pv-suggest img, .pv-suggest .ph { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; background: #222; flex-shrink: 0; }
.pv-suggest .t { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pv-suggest .p { color: #00c853; font-weight: 700; font-size: .82rem; }
.pv-suggest .all { justify-content: center; color: #e50914; font-weight: 600; border-top: 1px solid rgba(255, 255, 255, .06); }

@media (prefers-reduced-motion: reduce) {
    .pvc, .pvc-row, .pvc-teaser, .pvc-menu { animation: none; }
}
