.tam-contact-dock{position:fixed;z-index:68;bottom:max(26px,env(safe-area-inset-bottom));display:grid;gap:10px;max-height:calc(100vh - 150px);overflow-y:auto;padding:3px;scrollbar-width:none}
.tam-contact-dock::-webkit-scrollbar{display:none}
.tam-contact-dock.is-right{right:22px}
.tam-contact-dock.is-left{left:22px}
.tam-contact-link{display:flex;align-items:center;gap:10px;min-height:54px;padding:6px 16px 6px 6px;border:1px solid rgba(127,219,255,.3);border-radius:999px;background:rgba(27,20,6,.94);box-shadow:0 14px 34px rgba(0,0,0,.3);color:#eef8fc;text-decoration:none;backdrop-filter:blur(15px);transition:transform .2s,border-color .2s,background .2s}
.tam-contact-link:hover{transform:translateY(-2px);border-color:#7fdbff;background:#234e70;color:#fff}
.tam-contact-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#7fdbff,#5dade2);color:#0b2b40;font:800 1rem/1 "Plus Jakarta Sans",sans-serif}
.tam-contact-icon.has-custom-icon{position:relative;background:transparent!important;color:transparent!important}
.tam-contact-icon.has-custom-icon:before,.tam-contact-icon.has-custom-icon:after{display:none!important;content:none!important}
.tam-contact-icon img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain}
.tam-contact-label{max-width:180px;font-size:.76rem;font-weight:750;line-height:1.3}
.tam-contact-link.is-zalo .tam-contact-icon:not(.has-custom-icon){background:linear-gradient(145deg,#35a7ff,#0876d1);color:#fff}
.tam-has-contact-buttons .mobile-consult{display:none}
@media(max-width:600px){
  body.tam-has-contact-buttons{padding-bottom:18px}
  .tam-contact-dock{display:flex;align-items:center;bottom:max(14px,env(safe-area-inset-bottom));gap:8px;max-height:none;overflow:visible;padding:0;transition:opacity .2s ease,transform .2s ease,visibility .2s}
  .tam-contact-dock.is-right{right:10px}.tam-contact-dock.is-left{left:10px}
  .tam-contact-dock.is-right{right:76px}
  .tam-contact-link{justify-content:center;width:50px;min-width:50px;height:50px;min-height:50px;padding:5px;border-color:rgba(127,219,255,.38);box-shadow:0 10px 26px rgba(0,0,0,.32)}
  .tam-contact-icon{width:38px;height:38px;flex-basis:38px}
  .tam-contact-label{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
  body:has(.tam-cookie-notice.is-visible) .tam-contact-dock{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(10px)}
}
@media(prefers-reduced-motion:reduce){.tam-contact-link{transition:none}}

/* Unified contact launcher */
.tam-contact-dock{
  display:grid;
  justify-items:end;
  gap:10px;
  max-height:none;
  overflow:visible;
  padding:0;
  transition:opacity .2s ease,transform .2s ease,visibility .2s
}
.tam-contact-dock.is-left{justify-items:start}
.tam-contact-actions{
  display:grid;
  justify-items:end;
  gap:9px
}
.tam-contact-dock.is-left .tam-contact-actions{justify-items:start}
.tam-contact-actions[hidden]{display:none}
.tam-contact-dock.is-open .tam-contact-actions{
  animation:tam-contact-reveal .2s ease-out both
}
.tam-contact-link{
  width:max-content;
  max-width:220px;
  min-height:52px;
  border:1px solid rgba(127,219,255,.32);
  font-family:Inter,Arial,sans-serif;
  cursor:pointer;
  touch-action:manipulation
}
.tam-contact-link.is-chatbot{
  appearance:none;
  padding:6px 16px 6px 6px
}
.tam-contact-link.is-chatbot .tam-contact-icon{
  background:linear-gradient(145deg,#7fdbff,#5dade2)
}
.tam-contact-icon svg,
.tam-contact-link.is-chatbot svg{fill:currentColor}
.tam-contact-icon strong{font:800 .92rem/1 Inter,Arial,sans-serif}
.tam-contact-launcher{
  position:relative;
  display:grid;
  place-items:center;
  width:60px;
  height:60px;
  padding:0;
  border:1px solid rgba(255,226,165,.76);
  border-radius:50%;
  background:linear-gradient(145deg,#7fdbff,#5dade2);
  box-shadow:0 14px 36px rgba(0,0,0,.36),0 0 0 6px rgba(93,173,226,.1);
  color:#0b2b40;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
  touch-action:manipulation
}
.tam-contact-launcher:hover,
.tam-contact-launcher:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 8px rgba(93,173,226,.14)
}
.tam-contact-launcher svg{
  position:absolute;
  fill:currentColor;
  transition:opacity .18s ease,transform .18s ease
}
.tam-contact-launcher__close{
  opacity:0;
  transform:rotate(-45deg) scale(.7)
}
.tam-contact-dock.is-open .tam-contact-launcher__contact{
  opacity:0;
  transform:rotate(45deg) scale(.7)
}
.tam-contact-dock.is-open .tam-contact-launcher__close{
  opacity:1;
  transform:rotate(0) scale(1)
}
@keyframes tam-contact-reveal{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:600px){
  .tam-contact-dock,
  .tam-contact-dock.is-right{right:12px;bottom:max(14px,env(safe-area-inset-bottom))}
  .tam-contact-dock.is-left{right:auto;left:12px}
  .tam-contact-actions{display:grid;gap:8px}
  .tam-contact-actions[hidden]{display:none}
  .tam-contact-link{
    justify-content:flex-start;
    width:auto;
    min-width:142px;
    height:auto;
    min-height:48px;
    padding:5px 14px 5px 5px
  }
  .tam-contact-link.is-chatbot{padding:5px 14px 5px 5px}
  .tam-contact-label{
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    overflow:visible!important;
    clip:auto!important;
    white-space:normal!important
  }
  .tam-contact-launcher{width:56px;height:56px}
}
@media(prefers-reduced-motion:reduce){
  .tam-contact-dock.is-open .tam-contact-actions{animation:none}
  .tam-contact-launcher,.tam-contact-launcher svg{transition:none}
}
