.zw-tooltip {
  display: inline-block;
}
.zw-tooltip__inner {
  display: block;
}

.zw-tooltip__wrapper {
  padding: var(--tooltip-padding-v) var(--tooltip-padding-h);
  background-color: rgba(0, 0, 0, var(--opacity-tooltip));
  border-radius: 4px;
  font-size: var(--tooltip-font-size);
  color: var(--tooltip-color);
  z-index: var(--zindex-tooltip);
}
.zw-tooltip__wrapper[x-placement^=right] {
  margin-left: 10px;
}
.zw-tooltip__wrapper[x-placement^=right] .zw-tooltip__arrow {
  left: -4px;
  border-width: var(--tooltip-arrow-size) var(--tooltip-arrow-size) var(--tooltip-arrow-size) 0;
  border-right-color: rgba(0, 0, 0, var(--opacity-tooltip));
}
.zw-tooltip__wrapper[x-placement^=top] {
  margin-bottom: 10px;
}
.zw-tooltip__wrapper[x-placement^=top] .zw-tooltip__arrow {
  bottom: -4px;
  border-width: var(--tooltip-arrow-size) var(--tooltip-arrow-size) 0;
  border-top-color: rgba(0, 0, 0, var(--opacity-tooltip));
}
.zw-tooltip__wrapper[x-placement^=bottom] {
  margin-top: 10px;
}
.zw-tooltip__wrapper[x-placement^=bottom] .zw-tooltip__arrow {
  top: -4px;
  border-width: 0 var(--tooltip-arrow-size) var(--tooltip-arrow-size) var(--tooltip-arrow-size);
  border-bottom-color: rgba(0, 0, 0, var(--opacity-tooltip));
}
.zw-tooltip__wrapper[x-placement^=left] {
  margin-right: 10px;
}
.zw-tooltip__wrapper[x-placement^=left] .zw-tooltip__arrow {
  right: -4px;
  border-width: var(--tooltip-arrow-size) 0 var(--tooltip-arrow-size) var(--tooltip-arrow-size);
  border-left-color: rgba(0, 0, 0, var(--opacity-tooltip));
}

.zw-tooltip__arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}