/* Expandable floating contact dock */
.contact-dock{
  --dock-navy:#082a50;
  --dock-navy-deep:#061b35;
  --dock-gold:#d5aa55;
  position:fixed;
  right:22px;
  bottom:24px;
  z-index:2450;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  pointer-events:none;
  transition:opacity .24s ease,transform .24s ease;
}
.contact-dock.is-chat-open{
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
}
.contact-dock-menu{
  display:grid;
  gap:10px;
  margin:0 3px 14px 0;
  padding:4px 0;
  pointer-events:none;
  visibility:hidden;
  max-height:calc(100vh - 118px);
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-width:none;
}
.contact-dock-menu::-webkit-scrollbar{display:none}
.contact-dock.is-open .contact-dock-menu{
  pointer-events:auto;
  visibility:visible;
}
.contact-dock-item{
  --dock-icon:#0f5ea7;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:13px;
  min-width:196px;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-decoration:none;
  cursor:pointer;
  opacity:0;
  transform:translateY(12px) scale(.965);
  transform-origin:right center;
  transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1);
}
.contact-dock.is-open .contact-dock-item{
  opacity:1;
  transform:none;
}
.contact-dock.is-open .contact-dock-item:nth-child(1){transition-delay:.03s}
.contact-dock.is-open .contact-dock-item:nth-child(2){transition-delay:.06s}
.contact-dock.is-open .contact-dock-item:nth-child(3){transition-delay:.09s}
.contact-dock.is-open .contact-dock-item:nth-child(4){transition-delay:.12s}
.contact-dock.is-open .contact-dock-item:nth-child(5){transition-delay:.15s}
.contact-dock.is-open .contact-dock-item:nth-child(6){transition-delay:.18s}
.contact-dock-label{
  position:relative;
  min-width:128px;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px 4px 4px 12px;
  background:linear-gradient(135deg,var(--dock-navy),#0b3c6c);
  color:#fff;
  box-shadow:0 13px 30px rgba(4,24,48,.2);
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.contact-dock-label:after{
  content:"";
  position:absolute;
  top:50%;
  right:-10px;
  transform:translateY(-50%);
  width:0;
  height:0;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  border-left:10px solid #0a3763;
}
.contact-dock-icon{
  position:relative;
  z-index:1;
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.5);
  border-radius:50%;
  background:var(--dock-icon);
  color:#fff;
  box-shadow:0 12px 28px color-mix(in srgb,var(--dock-icon) 34%,transparent),0 6px 18px rgba(7,17,31,.16);
  font-size:18px;
  transition:transform .22s ease,filter .22s ease;
}
.contact-dock-item:hover .contact-dock-icon,
.contact-dock-item:focus-visible .contact-dock-icon{
  transform:scale(1.08);
  filter:brightness(1.07);
}
.contact-dock-item:hover .contact-dock-label,
.contact-dock-item:focus-visible .contact-dock-label{
  background:linear-gradient(135deg,#0b3765,#0f4f91);
}
.contact-dock-item.is-whatsapp{--dock-icon:#20c96b}
.contact-dock-item.is-chat{--dock-icon:#147ec9}
.contact-dock-item.is-contact{--dock-icon:#6845c6}
.contact-dock-item.is-call{--dock-icon:#0b3768}
.contact-dock-item.is-email{--dock-icon:#efc457}
.contact-dock-item.is-email .contact-dock-icon{color:#07111f}
.contact-dock-toggle{
  position:relative;
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  background:linear-gradient(145deg,#123f76,#0a2a53);
  color:#fff;
  box-shadow:0 0 0 1px rgba(7,17,31,.28),0 15px 36px rgba(7,17,31,.28);
  pointer-events:auto;
  cursor:pointer;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),background .22s ease;
}
.contact-dock-toggle:before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(201,154,70,.55);
  border-radius:50%;
}
.contact-dock-toggle:hover{transform:translateY(-3px) scale(1.035)}
.contact-dock-toggle i{font-size:21px;transition:opacity .18s ease,transform .25s ease}
.contact-dock-toggle .dock-close-icon{
  position:absolute;
  opacity:0;
  transform:rotate(-90deg) scale(.7);
}
.contact-dock.is-open .contact-dock-toggle{
  background:linear-gradient(145deg,#1b4d91,#12386d);
  transform:rotate(0);
}
.contact-dock.is-open .contact-dock-toggle .dock-open-icon{
  opacity:0;
  transform:rotate(90deg) scale(.7);
}
.contact-dock.is-open .contact-dock-toggle .dock-close-icon{
  opacity:1;
  transform:none;
}
body.contact-dock-open .fg-back-top{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media(max-width:700px){
  .contact-dock{
    right:14px;
    bottom:84px;
  }
  .contact-dock-menu{
    gap:8px;
    margin-bottom:11px;
    max-height:calc(100vh - 178px);
  }
  .contact-dock-item{min-width:176px;gap:11px}
  .contact-dock-label{
    min-width:116px;
    min-height:39px;
    padding:9px 14px;
    font-size:10px;
  }
  .contact-dock-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:16px;
  }
  .contact-dock-toggle{
    width:56px;
    height:56px;
  }
}

@media(max-height:650px) and (min-width:701px){
  .contact-dock-menu{gap:6px;margin-bottom:9px}
  .contact-dock-label{min-height:36px;padding:8px 14px}
  .contact-dock-icon{width:40px;height:40px;flex-basis:40px;font-size:15px}
  .contact-dock-toggle{width:54px;height:54px}
}

@media(prefers-reduced-motion:reduce){
  .contact-dock,.contact-dock-item,.contact-dock-toggle,.contact-dock-icon{transition:none!important}
}
