/* DevK Contact Button - Frontend */
.tt-contact{--tt-primary:#2563eb;position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:999999;width:328px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;line-height:1.45;text-align:left;color:#17233b}.tt-contact,.tt-contact *{box-sizing:border-box}.tt-contact--left{right:auto;left:22px}.tt-contact svg{display:block;width:24px;height:24px}.tt-contact__panel{display:flex;overflow:hidden;max-height:calc(100vh - 110px);margin:0 0 13px;border:1px solid rgba(22,40,75,.09);border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(14,31,62,.22);opacity:0;visibility:hidden;transform:translateY(14px) scale(.97);transform-origin:bottom right;transition:opacity .22s ease,transform .22s ease,visibility .22s;flex-direction:column}.tt-contact--left .tt-contact__panel{transform-origin:bottom left}.tt-contact.is-open .tt-contact__panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.tt-contact__header{display:flex;align-items:center;gap:12px;padding:19px 18px;color:#fff;background:var(--tt-primary)}.tt-contact__brand{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.13)}.tt-contact__brand svg{width:23px;height:23px}.tt-contact__header>div{display:grid}.tt-contact__header strong{color:#fff;font-size:15px;line-height:1.3}.tt-contact__header span:not(.tt-contact__brand){margin-top:3px;color:rgba(255,255,255,.76);font-size:11px}.tt-contact__list{display:grid;overflow-y:auto;gap:7px;padding:10px}.tt-contact__item{display:flex!important;align-items:center;gap:11px;min-height:60px;padding:8px!important;border:0!important;border-radius:14px;color:#17233b!important;text-decoration:none!important;background:#f7f9fc;box-shadow:none!important;transition:background .18s ease,transform .18s ease}.tt-contact__item:hover,.tt-contact__item:focus-visible{color:#17233b!important;background:#eef3f9;transform:translateX(-2px);outline:0}.tt-contact--left .tt-contact__item:hover,.tt-contact--left .tt-contact__item:focus-visible{transform:translateX(2px)}.tt-contact__icon{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:14px;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 5px 12px rgba(24,40,75,.14)}.tt-contact__icon svg{width:27px;height:27px}.tt-contact__item--phone .tt-contact__icon{background:linear-gradient(145deg,#34c981,#0d9a5f)}.tt-contact__item--zalo .tt-contact__icon{background:linear-gradient(145deg,#2582ff,#0055e7)}.tt-contact__item--facebook .tt-contact__icon{background:linear-gradient(145deg,#26a7ff,#7658ff 55%,#ef4b9a)}.tt-contact__item--telegram .tt-contact__icon{background:linear-gradient(145deg,#41b8eb,#168dca)}.tt-contact__item--whatsapp .tt-contact__icon{background:linear-gradient(145deg,#38dd78,#14a84f)}.tt-contact__item--line .tt-contact__icon{background:linear-gradient(145deg,#20d961,#00ad3b)}.tt-contact__meta{display:grid;min-width:0}.tt-contact__meta strong{color:#17233b;font-size:13px;line-height:1.35}.tt-contact__meta small{margin-top:2px;color:#758096;font-size:10px}.tt-contact__arrow{margin-left:auto;padding:0 7px;color:#9aa5b5;font-size:23px;font-weight:300}.tt-contact__credit{display:block!important;padding:1px 10px 10px!important;color:#9ca5b3!important;font-size:9px!important;text-align:center!important;text-decoration:none!important}
.tt-contact__toggle{position:relative;display:grid;width:60px;height:60px;margin-left:auto;padding:0;border:0;border-radius:19px;color:#fff;background:var(--tt-primary);box-shadow:0 12px 32px color-mix(in srgb,var(--tt-primary) 40%,transparent);cursor:pointer;place-items:center;transition:transform .2s ease,box-shadow .2s ease}.tt-contact--left .tt-contact__toggle{margin:0 auto 0 0}.tt-contact__toggle:before{content:"";position:absolute;inset:-6px;z-index:-1;border-radius:24px;border:1px solid color-mix(in srgb,var(--tt-primary) 28%,transparent);animation:tt-contact-pulse 2.2s ease-out infinite}.tt-contact__toggle:hover{transform:translateY(-2px);box-shadow:0 16px 38px color-mix(in srgb,var(--tt-primary) 45%,transparent)}.tt-contact__toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--tt-primary) 30%,#fff);outline-offset:3px}.tt-contact__toggle-icon{position:absolute;transition:opacity .2s ease,transform .2s ease}.tt-contact__toggle-icon svg{width:27px;height:27px}.tt-contact__toggle-icon--close{opacity:0;transform:rotate(-75deg) scale(.7)}.tt-contact.is-open .tt-contact__toggle-icon--chat{opacity:0;transform:rotate(75deg) scale(.7)}.tt-contact.is-open .tt-contact__toggle-icon--close{opacity:1;transform:rotate(0) scale(1)}
@keyframes tt-contact-pulse{0%{opacity:.8;transform:scale(.8)}70%,100%{opacity:0;transform:scale(1.25)}}
@media(max-width:480px){.tt-contact{right:14px;bottom:14px;width:min(320px,calc(100vw - 28px))}.tt-contact--left{right:auto;left:14px}.tt-contact__panel{margin-bottom:10px}.tt-contact__toggle{width:54px;height:54px;border-radius:17px}.tt-contact__toggle-icon svg{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.tt-contact__panel,.tt-contact__item,.tt-contact__toggle,.tt-contact__toggle-icon{transition:none}.tt-contact__toggle:before{animation:none}}
@supports not (color:color-mix(in srgb,red,blue)){.tt-contact__toggle{box-shadow:0 12px 32px rgba(20,70,170,.35)}.tt-contact__toggle:before{border-color:rgba(37,99,235,.28)}}

.tt-contact__item--tiktok .tt-contact__icon{background:linear-gradient(145deg,#27323d,#050505)}
.tt-contact__item--threads .tt-contact__icon{background:linear-gradient(145deg,#444,#101010)}
