.wp-block-button.is-style-line .wp-block-button__link {
  --elpato--line-width: 3rem;
  background-color: transparent;
  border-radius: 0;
  color: currentColor;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  line-height: 1.16em;
  position: relative;
  padding: 0.25rem 0.5rem 0.25rem calc(var(--elpato--line-width) + 1rem);
  text-transform: uppercase;
  transition: all 0.25s ease-in-out;
}

.wp-block-button.is-style-line .wp-block-button__link::before {
  background-color: currentColor;
  content: "";
  display: inline-block;
  height: 1px;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  transition: all 0.25s ease-in-out;
  width: var(--elpato--line-width);
}

.wp-block-button.is-style-line .wp-block-button__link:hover,
.wp-block-button.is-style-line:hover .wp-block-button__link {
  --elpato--line-width: 0;
  background-color: var(--wp--preset--color--light-gray);
  color: var(--wp--preset--color--black);
  padding: 0.25rem 0.5rem;
}

@media screen and (min-width: 782px) {
  .wp-block-group:has(.wp-block-button.is-style-line):hover > .wp-block-buttons .wp-block-button.is-style-line .wp-block-button__link,
  .wp-block-column:has(.wp-block-button.is-style-line):hover > .wp-block-buttons .wp-block-button.is-style-line .wp-block-button__link,
  .wp-block-cover__inner-container:has(.wp-block-button.is-style-line):hover > .wp-block-buttons .wp-block-button.is-style-line .wp-block-button__link {
    --elpato--line-width: 0;
    background-color: var(--wp--preset--color--light-gray);
    color: var(--wp--preset--color--black);
    padding: 0.25rem 0.5rem;
  }
}
