/* Shared contact widget. Brand geometry: official Telegram and MAX assets. */
.contact-widget{--cw-red:#bd282d;position:fixed;right:28px;bottom:28px;z-index:600;font-family:Inter,Arial,sans-serif;color:#191b1d;line-height:1.4;text-align:left}
.contact-widget[hidden],.contact-widget [hidden]{display:none!important}
.contact-widget *{box-sizing:border-box}
.contact-widget button,.contact-widget a{-webkit-tap-highlight-color:transparent}
.contact-widget__toggle{display:flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 22px;border:1px solid rgba(255,255,255,.22);border-radius:30px;background:var(--cw-red);color:#fff;font:600 14px/1 Inter,Arial,sans-serif;box-shadow:0 6px 22px rgba(72,10,15,.22);cursor:pointer;transition:background .18s}
.contact-widget__toggle:hover{background:#a72026}
.contact-widget__toggle svg{width:25px;height:25px;flex:none}
.contact-widget__cross{display:none}
.contact-widget__toggle[aria-expanded=true] .contact-widget__bubble{display:none}
.contact-widget__toggle[aria-expanded=true] .contact-widget__cross{display:block}
.contact-widget__panel{padding:0;margin:0;position:absolute;right:0;bottom:74px;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 130px);overflow:auto;border:1px solid #e3e3e1;border-radius:18px;background:#fff;box-shadow:0 20px 65px rgba(0,0,0,.18);animation:cw-appear .16s ease-out}
.contact-widget__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:25px 22px 20px;border-bottom:1px solid #ededeb}
.contact-widget__head h2{margin:0;font:700 23px/1.25 'PT Serif',Georgia,serif;color:#191b1d;letter-spacing:-.35px}
.contact-widget__head p{margin:8px 0 0;font-size:12px;color:#626972;line-height:1.5}
.contact-widget__close{display:grid;place-items:center;flex:none;width:32px;height:32px;margin:-6px -6px 0 0;padding:6px;border:0;border-radius:50%;background:transparent;color:#74777c;cursor:pointer}
.contact-widget__close:hover{background:#f1f1f0;color:#191b1d}
.contact-widget__close svg{width:20px;height:20px}
.contact-widget__links{padding:8px 12px 12px}
.contact-widget__link{display:flex;align-items:center;gap:14px;padding:14px 10px;border-radius:10px;text-decoration:none!important;color:#191b1d!important;transition:background .18s}
.contact-widget__link:hover{background:#f7f4f3}
.contact-widget__icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#f9ecec;color:var(--cw-red)}
.contact-widget__icon svg{display:block;width:25px;height:25px}
.contact-widget__link strong{display:block;font:600 15px/1.4 Inter,Arial,sans-serif;letter-spacing:0}
.contact-widget__link small{display:block;margin-top:3px;font:400 11px/1.5 Inter,Arial,sans-serif;color:#626972}
.contact-widget__link--phone{margin-top:4px;border-top:1px solid #ededeb;border-radius:0 0 10px 10px;padding-top:18px}
.contact-widget :is(a,button):focus-visible{outline:2px solid var(--cw-red);outline-offset:3px}
.contact-widget__toggle:focus-visible{outline-offset:5px}
body:has(.contact-widget) #scroll-top{right:28px;bottom:102px}
@keyframes cw-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:768px){.contact-widget{right:16px;bottom:calc(80px + env(safe-area-inset-bottom,0px))}.contact-widget__toggle{width:56px;min-height:56px;padding:0}.contact-widget__toggle>span{display:none}.contact-widget__panel{bottom:70px;width:344px;max-height:calc(100dvh - 170px - env(safe-area-inset-bottom,0px))}.contact-widget__head{padding:22px 20px 18px}.contact-widget__head h2{font-size:22px}body:has(.contact-widget) #scroll-top{right:82px;bottom:calc(86px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.contact-widget__panel{animation:none}.contact-widget *{transition:none!important}}
