/* KupiHub — сообщения и уведомления */
.bdg{position:absolute;top:2px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e5484d;color:#fff;font:600 11px/18px -apple-system,BlinkMacSystemFont,sans-serif;font-style:normal;text-align:center;pointer-events:none}
.tb button,.dn button,.bell{position:relative}
.dn .bdg{top:-2px;right:-4px}
.bell{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:var(--fld);color:var(--b);flex:none}
.bell .bdg{top:-4px;right:-4px}
.mh{display:flex;align-items:center;justify-content:space-between;padding-right:16px}
.chs{padding:4px 16px 0}
.chs input{margin:0}
.chr .rt{display:flex;flex-direction:column;gap:1px}
.chl{display:flex;justify-content:space-between;align-items:center;gap:8px}
.chl small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx2)}
.chl .bdg{position:static;flex:none}
.cha{color:var(--b)!important;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmn{background:none!important;color:var(--tx2)!important;justify-self:end}
.chm{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;border-bottom:1px solid var(--line);flex:none}
.chm button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 12px;font-size:14px}
.chad{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line);cursor:pointer;flex:none}
.chad .rt small{color:var(--tx2)}
.m{display:flex;flex-direction:column;gap:4px;max-width:80%;word-wrap:break-word;overflow-wrap:anywhere}
.m .mt{white-space:pre-wrap}
.m .mi{display:block;max-width:240px;max-height:300px;border-radius:12px;object-fit:cover}
.mm{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:11px;opacity:.75}
.tk{letter-spacing:-2px}
.tk.rd{color:#9fe0ff;opacity:1}
.m.th .tk.rd{color:var(--b)}
.mrp{border:0;background:none;padding:0 2px;font-size:12px;color:inherit;opacity:.5}
.mrp:hover{opacity:1}
.m.er{opacity:.6;outline:1px dashed #e5484d;cursor:pointer}
.mwarn{align-self:flex-start;display:flex;gap:8px;max-width:88%;padding:8px 12px;border-radius:12px;background:rgba(229,72,77,.1);color:#c4282d;font-size:13px}
.mwarn svg{flex:none;width:18px;height:18px}
.chb{justify-content:center;color:var(--tx2);font-size:14px;padding:14px}
.cmp label.ib{cursor:pointer}
.ntr.un{background:rgba(26,99,220,.06)}
.ntr.un b::after{content:"";display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:var(--b);vertical-align:2px}
.nti{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--fld);font-size:18px}
.ntb{white-space:normal!important;color:var(--tx)!important}
.nta{display:flex;justify-content:space-between;padding:10px 20px 0}
.rdo{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--line)}
.rdo.on{border:6px solid var(--b)}
.sact{justify-content:space-between}
.sact .lnk{font-size:14px}
.rpad{display:block;margin:18px 0 0;font-size:14px}
.acred{color:#e5484d!important}
#chimg{display:none!important}
.rst i{font-style:normal;color:var(--line)}
.rvm{display:block;color:var(--tx2);font-size:12px;margin-top:1px}
.rvs{display:flex;gap:6px;margin:16px 0 4px}
.rvs button{border:0;background:none;font-size:38px;line-height:1;color:var(--line);padding:0;cursor:pointer}
.rvs button.on{color:#f5a524}
.svrv{margin:10px 16px 0}
.m.dl{opacity:.6;font-style:italic}
.acblk{display:flex;gap:12px;margin:16px 16px 0;padding:14px;border-radius:16px;background:rgba(229,72,77,.1);color:#c4282d}
.acblk svg{flex:none}
.acblk p{margin:4px 0 0;font-size:14px}

.hbr{display:flex;gap:8px;pointer-events:auto}
.hbr .hrt{position:static;width:38px;height:38px}
.shl{display:flex;gap:8px}
.shl input{margin:0;flex:1;min-width:0;font-size:14px}
.shl .btn{flex:none;height:44px;padding:0 14px;font-size:15px}
.shm{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.shm a{flex:1;min-width:100px;text-align:center;padding:10px;border-radius:12px;background:var(--fld);color:var(--b);font-weight:600;text-decoration:none}
.shq{margin-top:20px;text-align:center}
.shq img{display:block;margin:0 auto;border-radius:12px;background:#fff;padding:8px}

.supr{margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--fld)}
.supr p{margin:4px 0 0;white-space:pre-wrap}

/* управление диалогами: выбор, корзина, закреплённые */
.mh .sp{flex:1}.mh .chpick{margin-right:12px;font-weight:600}
.chsh{padding:14px 16px 6px;gap:10px}.chsh b{font-size:17px}
.chr{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.chr.sel{background:color-mix(in srgb,var(--b) 9%,transparent)}
.chk{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;transition:background .15s,border-color .15s}
.chk.on{background:var(--b);border-color:var(--b)}
.chk.on::after{content:'';width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.chl .pin{font-style:normal;font-size:12px;margin-right:4px}
.lst.chsl{margin-bottom:96px}
.chbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:25;display:flex;gap:6px;width:calc(100% - 24px);max-width:456px;padding:6px;border-radius:18px;background:var(--card);box-shadow:0 10px 30px -10px rgba(0,0,0,.35),0 0 0 1px var(--line)}
.chbar button{flex:1;height:44px;border:0;border-radius:13px;background:var(--fld);color:var(--tx);font:600 14px/1 inherit;cursor:pointer}
.chbar button.acred{color:#e5484d}
.chbar button:disabled{opacity:.45;cursor:default}
@media(min-width:720px){.chbar{bottom:24px}}
.nta span{color:var(--tx2);font-size:13px}
/* все отзывы: сводка и полосы по звёздам */
.rvsum{display:flex;gap:18px;align-items:center;margin:8px 16px 4px;padding:14px;border-radius:18px;background:var(--card);box-shadow:var(--sh)}
.rvbig{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:86px}
.rvbig b{font-size:40px;line-height:1;font-weight:800}.rvbig small{color:var(--tx2);font-size:12.5px}
.rvbars{flex:1;display:flex;flex-direction:column;gap:3px}
.rvbars button{display:flex;align-items:center;gap:8px;border:0;background:none;padding:2px 0;color:var(--tx2);font:500 12.5px/1 inherit;cursor:pointer}
.rvbars button.on{color:var(--b)}
.rvbars span{width:36px;text-align:left;white-space:nowrap}.rvbars em{width:22px;text-align:right;font-style:normal}
.rvbars i{flex:1;height:7px;border-radius:4px;background:var(--fld);overflow:hidden}
.rvbars i b{display:block;height:100%;background:#f5b301;border-radius:4px}
.svt{margin:14px 16px 0}
/* «Оставьте отзыв» в переписке */
.rvask{position:relative;align-self:center;width:min(100%,340px);margin:10px auto 4px;padding:14px 16px;border-radius:18px;background:var(--card);box-shadow:var(--sh);display:flex;flex-direction:column;gap:4px;text-align:center}
.rvask b{font-size:16px}.rvask span{color:var(--tx2);font-size:13.5px;line-height:1.35}
.rvask .btn{margin-top:8px;height:42px;font-size:15px}
.rvask .x{position:absolute;top:6px;right:6px;width:32px;height:32px;border:0;border-radius:50%;background:none;color:var(--tx2);font-size:15px;cursor:pointer}
/* ---------- чат на весь экран ---------- */
.sheet.chatfs{top:0;bottom:auto;left:0;right:0;width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden;transform:translateY(100%);overscroll-behavior:contain}
.sheet.chatfs.on{transform:none}
.sheet.chatfs .grab{display:none}
.sheet.chatfs .ch{padding-top:calc(10px + env(safe-area-inset-top,0px))}
.sheet.chatfs .msgs{flex:1;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sheet.chatfs .cmp{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background:var(--bg)}
/* 16px — иначе iPhone увеличивает страницу при фокусе и вёрстка чата «прыгает» */
.cmp input,#mi{font-size:16px}
@media(min-width:720px){.sheet.chatfs{left:50%;right:auto;width:760px;transform:translate(-50%,100%);border-left:1px solid var(--line);border-right:1px solid var(--line)}.sheet.chatfs.on{transform:translate(-50%,0)}}
.sheet.chatfs .msgs>:first-child{margin-top:auto} /* мало сообщений — прижаты к полю ввода, как в мессенджерах */
/* клавиатура открыта: строка ввода вплотную к клавиатуре (без отступа под «полоску» iPhone) */
.sheet.chatfs.kbo .cmp{padding-bottom:8px}
.sheet.chatfs .cmp{transition:padding-bottom .25s}
/* iPhone: строка ввода (и быстрые вопросы) отдельно поднимаются вместе с клавиатурой; под ними — фон чата */
.sheet.chatfs{background:var(--bg)}
.sheet.chatfs .cmp,.sheet.chatfs .chq2{position:relative;z-index:3;background:var(--bg);transform:translateY(calc(var(--kb,0px) * -1));transition:transform .32s cubic-bezier(.25,.85,.3,1),padding-bottom .25s;will-change:transform}
.sheet.chatfs .ch,.sheet.chatfs .chad,.sheet.chatfs .chm{position:relative;z-index:4;background:var(--bg)}
.sheet.chatfs .msgs{position:relative;z-index:1}
/* «в сети» / «был(а)» */
.pres{color:var(--tx2)}.pres.on{color:#1f8a57;font-weight:600}
.pres.on::before{content:'';display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#22c55e;vertical-align:1px}
.selp{display:block;margin-top:2px}
