.vsn-input-wrapper {
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 0.2em;
    column-gap: 0.2em;
    align-items: stretch;
    justify-content: center;
}

.vsn-js-warning {
    font-size: var(--wp--preset--font-size--small);
    font-style: italic;
}

.vsn-email {
    z-index:-1000;
    position: fixed;
    top: -100px;
    left: -200px;
    max-width: 150px;
    max-height: 50px;
}

.vsn-warning {
    color: var(--wp--preset--color--vivid-red);
}

.vsn-text-input {
    border: 1px solid var(--wp--preset--color--contrast);
    border-radius: 1000px;
    padding: 0.1em 0.2em 0.1em 0.2em;
    padding: 0.4em 1em 0.4em 1em;
}

.vsn-button {
    border:none;
    background: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--base);
    border-radius: 1000px;
    padding: 0.4em 1em 0.4em 1em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.1s;
}

.vsn-button:hover {
    box-shadow: 0.2em 0.2em 1em 0 #0003;
    background-color: var(--wp--preset--color--contrast);
}

.vsn-button:disabled {
    background-color: color-mix(in srgb, var(--wp--preset--color--contrast) 50%, transparent);
    cursor:not-allowed;
}

.vsn-loader {
  width: 30px;
  height: 1em;
  display: inline-grid;
}
.vsn-loader:before,
.vsn-loader:after {
  content: "";
  grid-area: 1/1;
  margin: 0 0 0 7px;
  --c:#0000 calc(100%/3),var(--wp--preset--color--accent-1) 0 calc(2*100%/3),#0000 0;
  --c1:linear-gradient(90deg,var(--c));
  --c2:linear-gradient( 0deg,var(--c));
  background: var(--c1),var(--c2),var(--c1),var(--c2);
  background-size: 300% 4px,4px 300%;
  background-repeat: no-repeat;
  animation: loaderKF 1s infinite linear;
}
.vsn-loader:after {
  margin: 0px 7px 0 0;
  transform: scale(-1,-1);
}
@keyframes loaderKF {
  0%   {background-position: 50%  0,100% 100%,0    100%,0 0}
  25%  {background-position: 0    0,100% 50% ,0    100%,0 0}
  50%  {background-position: 0    0,100% 0   ,50%  100%,0 0}
  75%  {background-position: 0    0,100% 0   ,100% 100%,0 50%}
 75.01%{background-position: 100% 0,100% 0   ,100% 100%,0 50%}
  100% {background-position: 50%  0,100% 0   ,100% 100%,0 100%}
}