.k-block-type-link {
  --svg-fill: orange;
  --padding-between: 0.25em; /* 2x! */
}
.k-block-type-link[data-has-padding='true'] {
  --padding-horizontal: 1em;
  --padding-vertical: 0.75em;
  --border-width: 0.25em;
}
.k-block-type-link .container {
  display: flex;
}
.k-block-type-link .size-xxl { --font-size: var(--text-6xl);  }
.k-block-type-link .size-xl  { --font-size: var(--text-4xl);  }
.k-block-type-link .size-l   { --font-size: var(--text-2xl);  }
.k-block-type-link .size-m   { --font-size: var(--text-base); }
.k-block-type-link .size-s   { --font-size: var(--text-sm);   }
.k-block-type-link .size-xs  { --font-size: var(--text-xs);   }

.k-block-type-link .link {
  font-size: var(--font-size, 1rem);
  color: var(--link-text-color, #FFF);
  font-weight: bold;
  text-align: center;
  display: inline-flex;

  align-items: center;
  background-color: var(--link-background-color, #000);
  cursor: default;

  border-width: var(--border-width, 0);
  border-color: var(--border-color, transparent);
  border-style: solid;
}

.k-block-type-link .reverse { 
  flex-direction: row-reverse; 
}

.k-block-type-link a.link {
  cursor: pointer;
  text-decoration: none;
}
.k-block-type-link a.link:hover,
.k-block-type-link a.link:focus {
  text-decoration: underline;
}
.k-block-type-link .icon {
  box-sizing: content-box;
  display: flex;
  line-height: 1;
  height: 100%;
  padding: var(--padding-vertical) var(--padding-horizontal);
  align-items: center;
}

.k-block-type-link .icon svg {
  height: 1.5em;
  width: 1.5em;
}
.k-block-type-link .custom-svg-fill svg {
  fill: var(--svg-fill);
}
.k-block-type-link .text {
  line-height: 1.5em;
  padding: var(--padding-vertical) var(--padding-horizontal);
}

.k-block-type-link .text-align-left { text-align: left; }
.k-block-type-link .text-align-right { text-align: right; }
.k-block-type-link .text-align-center { text-align: center; }

.k-block-type-link .icon-and-text:not(.reverse) .icon {
  padding-right: var(--padding-between);
}
.k-block-type-link .icon-and-text:not(.reverse) .text {
  padding-left: var(--padding-between);
}
.k-block-type-link .icon-and-text.reverse .icon {
  padding-left: var(--padding-between);
}
.k-block-type-link .icon-and-text.reverse .text {
  padding-right: var(--padding-between);
}

.k-block-type-link .container.left-align   { justify-content: start;  }
.k-block-type-link .container.center-align { justify-content: center; }
.k-block-type-link .container.right-align  { justify-content: end;    }

/* -------------------- */
/*      Full Width      */
/* -------------------- */ 
.k-block-type-link .full-width .link { width: 100%; }
.k-block-type-link .full-width.container.left-align   .link { justify-content: start;  }
.k-block-type-link .full-width.container.center-align .link { justify-content: center; }
.k-block-type-link .full-width.container.center-align .link { justify-content: space-between; }
.k-block-type-link .full-width.container.right-align  .link { justify-content: end;    }

/* ---------------------------- */
/*      Interaction Styles      */
/* ---------------------------- */ 
.k-block-type-link[data-has-box-shadow='true'] .link {
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
  -webkit-transition: all 0.125s ease-in-out;
  -moz-transition: all 0.125s ease-in-out;
  -ms-transition: all 0.125s ease-in-out;
  -o-transition: all 0.125s ease-in-out;
  transition: all 0.125s ease-in-out;
}

.k-block-type-link[data-has-box-shadow='true'] a.link:hover,
.k-block-type-link[data-has-box-shadow='true'] a.link:focus {
  text-decoration: none;
  /* transform: scale(105%); */
  transform: translateY(-3px);
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
}

.k-block-type-link[data-has-box-shadow='true'] a.link:active {
  text-decoration: none;
  /* transform: scale(95%); */
  margin-top: 1px;
  transform: translateY(3px);
  box-shadow: rgba(50, 50, 93, 0.25) 0px 1px 5px -1px, rgba(0, 0, 0, 0.3) 0px 0px 3px -1px;
}