.ec-btn{position:fixed;right:18px;bottom:18px;z-index:180;display:none;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:84px;height:84px;padding:0;border:0;border-radius:50%;background:var(--petrol,#0E6B7A);color:#fff;font:800 9.5px/1.15 var(--sans,system-ui);letter-spacing:.06em;text-align:center;cursor:pointer;box-shadow:0 12px 30px -10px rgba(10,76,87,.75);transition:transform .2s,background .2s,bottom .3s}
.ec-btn.on{display:inline-flex}.ec-btn:hover{background:var(--petrol-deep,#0A4C57);transform:translateY(-2px)}
.ec-btn .ic{position:relative;display:grid;place-items:center;width:30px;height:30px}.ec-btn .ic svg{width:26px;height:26px}
.ec-btn .sp{position:absolute;right:-3px;top:-3px;width:13px;height:13px;color:#E9C983}
.ec-btn.up{bottom:86px}
.ec{position:fixed;right:18px;bottom:18px;z-index:190;width:min(390px,calc(100vw - 24px));height:min(600px,calc(100vh - 40px));display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 30px 70px -20px rgba(12,30,38,.5);overflow:hidden;opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;visibility:hidden;transition:opacity .25s,transform .25s,visibility 0s linear .25s}
.ec.open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .25s,transform .25s}
.ec-hd{display:flex;align-items:center;gap:11px;padding:14px 14px 14px 16px;background:linear-gradient(135deg,var(--petrol-deep,#0A4C57),#0C1E26);color:#fff}
.ec-av{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#E9C983}.ec-av svg{width:20px;height:20px}
.ec-hd b{display:block;font-size:15px}.ec-hd small{display:block;font-size:12px;color:#BFD9DA}
.ec-hd .x,.ec-hd .rs{margin-left:auto;width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer}
.ec-hd .rs{margin-left:auto}.ec-hd .x{margin-left:6px}.ec-hd svg{width:17px;height:17px}
.ec-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#F7F9F8}
.ec-m{max-width:86%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.ec-m.a{align-self:flex-start;background:#fff;color:var(--ink,#13232A);border:1px solid var(--line,#E2E7E6);border-bottom-left-radius:6px}
.ec-m.u{align-self:flex-end;background:var(--petrol,#0E6B7A);color:#fff;border-bottom-right-radius:6px}
.ec-m a{color:inherit;text-decoration:underline}
.ec-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;background:#fff;border:1px solid var(--line,#E2E7E6);border-radius:16px}
.ec-typing i{width:7px;height:7px;border-radius:50%;background:#9DB3B6;animation:ecb 1s infinite}.ec-typing i:nth-child(2){animation-delay:.15s}.ec-typing i:nth-child(3){animation-delay:.3s}
@keyframes ecb{0%,80%,100%{opacity:.35;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.ec-objs{align-self:stretch;display:grid;gap:8px}
.ec-o{display:flex;gap:10px;align-items:center;padding:8px;border-radius:14px;background:#fff;border:1px solid var(--line,#E2E7E6);color:var(--ink,#13232A);text-decoration:none}
.ec-o:hover{border-color:var(--petrol,#0E6B7A)}
.ec-o img{width:64px;height:52px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:#e8eeee}
.ec-o b{display:block;font-size:14px;color:var(--petrol-deep,#0A4C57)}.ec-o span{display:block;font-size:12.5px;color:var(--ink-2,#3C4D54);line-height:1.35}
.ec-chips{display:flex;flex-wrap:wrap;gap:6px}
.ec-chips button{border:1px solid var(--line,#E2E7E6);background:#fff;border-radius:99px;padding:7px 12px;font:600 13px var(--sans,system-ui);color:var(--petrol-deep,#0A4C57);cursor:pointer}
.ec-chips button:hover{border-color:var(--petrol,#0E6B7A)}
.ec-err{align-self:flex-start;max-width:90%;font-size:13.5px;color:#7A3B12;background:#FFF3E8;border:1px solid #F3D3B5;border-radius:14px;padding:10px 12px}
.ec-err a{display:inline-block;margin-top:6px;font-weight:700;color:#1F8A4C}
.ec-ft{border-top:1px solid var(--line,#E2E7E6);padding:10px 10px 8px;background:#fff}
.ec-form{display:flex;gap:8px;align-items:flex-end}
.ec-form textarea{flex:1;resize:none;max-height:110px;min-height:42px;border:1.5px solid var(--line,#E2E7E6);border-radius:12px;padding:10px 12px;font:15px var(--sans,system-ui);color:var(--ink,#13232A);outline:0}
.ec-form textarea:focus{border-color:var(--petrol,#0E6B7A)}
.ec-form button{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:12px;background:var(--petrol,#0E6B7A);color:#fff;display:grid;place-items:center;cursor:pointer}.ec-form button svg{width:18px;height:18px}
.ec-form button[disabled]{opacity:.5;cursor:default}
.ec-note{margin:6px 2px 0;font-size:11.5px;color:var(--muted,#66777D);text-align:center}
@media(max-width:560px){.ec{right:0;bottom:0;width:100vw;height:100%;max-height:100dvh;border-radius:0}.ec-btn{right:14px;bottom:14px;width:70px;height:70px;font-size:8.5px;gap:2px}.ec-btn .ic{width:24px;height:24px}.ec-btn .ic svg{width:22px;height:22px}.ec-btn .ec-lb{display:block}.ec-btn.up{bottom:84px}}
@media (prefers-reduced-motion:reduce){.ec,.ec-btn{transition:none}.ec-typing i{animation:none}}

.ec-btn .ec-lb{display:block;max-width:62px}   /* класс ec-lb, а не lb: на странице объекта .lb — это окно фотогалереи */
.ec-more{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px;padding:11px 14px;border-radius:12px;background:var(--petrol,#0E6B7A);color:#fff!important;font:700 13.5px var(--sans,system-ui);text-decoration:none;transition:background .2s}.ec-more:hover{background:var(--petrol-deep,#0A4C57)}
.ec-btn.buzz{animation:ecBuzz 1s cubic-bezier(.36,.07,.19,.97) both}
@keyframes ecBuzz{0%,100%{transform:none}10%,30%,50%,70%{transform:translateX(-3px) rotate(-8deg)}20%,40%,60%{transform:translateX(3px) rotate(8deg)}80%{transform:translateX(-1px) rotate(-3deg)}90%{transform:translateX(1px) rotate(2deg)}}
.ec-wave{position:fixed;left:-99px;top:-99px;z-index:179;width:44px;height:44px;line-height:0;filter:drop-shadow(0 6px 8px rgba(10,76,87,.32));pointer-events:none;opacity:0;transform-origin:75% 85%;transform:translate(22px,22px) scale(.4)}
.ec-wave.go{animation:ecWave 2.4s ease-in-out both}
@keyframes ecWave{0%{opacity:0;transform:translate(22px,22px) scale(.4) rotate(0)}14%{opacity:1;transform:translate(0,0) scale(1) rotate(-10deg)}24%{transform:translate(0,0) scale(1) rotate(16deg)}34%{transform:translate(0,0) scale(1) rotate(-12deg)}44%{transform:translate(0,0) scale(1) rotate(16deg)}54%{transform:translate(0,0) scale(1) rotate(-12deg)}64%{transform:translate(0,0) scale(1) rotate(14deg)}74%{opacity:1;transform:translate(0,0) scale(1) rotate(0)}100%{opacity:0;transform:translate(22px,22px) scale(.4) rotate(0)}}
@media (max-width:760px){.ec-wave{width:38px;height:38px}}
.ec-wave svg{width:100%;height:100%;overflow:visible}.ec-wave .arcs{opacity:0}.ec-wave.go .arcs{animation:ecArcs 2.4s ease-in-out both}
@keyframes ecArcs{0%,18%{opacity:0}26%,40%{opacity:1}48%{opacity:.2}56%,66%{opacity:1}76%,100%{opacity:0}}
.ec-ch{flex-direction:column;align-items:stretch}.ec-ch button{text-align:left;border-radius:12px;padding:10px 14px;font-size:13.5px}.ec-ch button.alt{border-style:dashed;border-color:#E9C983;color:#8A6420;background:#FFFBF2}
.ec-chl{font-size:12.5px;font-weight:700;color:var(--muted,#5B6B70);margin:2px 2px -2px}
