/* ZapSet - feedback global para formularios em processamento. */
:root{
  --zs-submit-tail-soft:rgba(251,146,60,.18);
  --zs-submit-tail-medium:rgba(255,158,55,.52);
  --zs-submit-core:#ffad42;
}

.zs-submitLiveRegion{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@keyframes zs-submit-tail-soft-run{
  from{stroke-dashoffset:5.15}
  to{stroke-dashoffset:-94.85}
}

@keyframes zs-submit-tail-medium-run{
  from{stroke-dashoffset:2.15}
  to{stroke-dashoffset:-97.85}
}

@keyframes zs-submit-core-run{
  from{stroke-dashoffset:0}
  to{stroke-dashoffset:-100}
}

@keyframes zs-submit-blue-glow-run{from{stroke-dashoffset:10}to{stroke-dashoffset:-90}}
@keyframes zs-submit-blue-tail-far-run{from{stroke-dashoffset:8}to{stroke-dashoffset:-92}}
@keyframes zs-submit-blue-tail-soft-run{from{stroke-dashoffset:6}to{stroke-dashoffset:-94}}
@keyframes zs-submit-blue-tail-medium-run{from{stroke-dashoffset:4}to{stroke-dashoffset:-96}}
@keyframes zs-submit-blue-tail-near-run{from{stroke-dashoffset:2}to{stroke-dashoffset:-98}}
@keyframes zs-submit-blue-core-run{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}

button.zs-busy{
  position:relative !important;
  overflow:visible !important;
  isolation:isolate;
  pointer-events:none;
  cursor:progress;
  color:transparent !important;
  text-shadow:none !important;
  transform:none !important;
  opacity:.96 !important;
  transition:opacity .22s cubic-bezier(.22,1,.36,1),
    box-shadow .22s cubic-bezier(.22,1,.36,1),
    border-color .22s cubic-bezier(.22,1,.36,1) !important;
}

button.zs-busy:disabled{
  opacity:.96 !important;
  cursor:progress !important;
}

button.zs-busy > :not(.zs-submitBusyLabel):not(.zs-busyBorder){
  visibility:hidden !important;
}

button.zs-busy::before,
button.zs-busy::after{
  opacity:0 !important;
}

.zs-submitBusyLabel{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  padding:0 6px;
  overflow:hidden;
  color:var(--zs-submit-busy-label-color, #fff) !important;
  font:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
  opacity:0;
  transform:translateY(3px);
  transition:opacity .24s cubic-bezier(.22,1,.36,1),
    transform .28s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.zs-busyBorder{
  position:absolute;
  inset:-2px;
  z-index:3;
  display:block;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  overflow:visible;
  pointer-events:none;
  opacity:0;
  transform:translateZ(0);
  transition:opacity .24s cubic-bezier(.22,1,.36,1);
}

.zs-busy-entered .zs-submitBusyLabel,
.zs-busy-entered .zs-busyBorder{
  opacity:1;
  transform:none;
}

.zs-busy-leaving .zs-submitBusyLabel,
.zs-busy-leaving .zs-busyBorder{
  opacity:0;
}

.zs-busyBorderStatic,
.zs-busyBorderRunner{
  fill:none;
  vector-effect:non-scaling-stroke;
  shape-rendering:geometricPrecision;
  pointer-events:none;
}

.zs-busyBorderStatic{
  stroke:var(--zs-submit-core);
  stroke-width:1.8;
  opacity:0;
}

.zs-busyBorderRunner{
  stroke-linecap:round;
  will-change:stroke-dashoffset;
  animation-duration:var(--zs-busy-duration, 1.3s);
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}

.zs-busyBorderRunner--tail-soft{
  stroke:var(--zs-submit-tail-soft);
  stroke-width:var(--zs-busy-stroke-width, 1.5px);
  stroke-dasharray:12.5 87.5;
  animation-name:zs-submit-tail-soft-run;
  filter:blur(.55px) drop-shadow(0 0 2.4px rgba(251,146,60,.3));
}

.zs-busyBorderRunner--tail-medium{
  stroke:var(--zs-submit-tail-medium);
  stroke-width:var(--zs-busy-stroke-width, 1.5px);
  stroke-dasharray:6.5 93.5;
  animation-name:zs-submit-tail-medium-run;
  filter:drop-shadow(0 0 1.7px rgba(251,146,60,.58));
}

.zs-busyBorderRunner--core{
  stroke:var(--zs-submit-core);
  stroke-width:var(--zs-busy-stroke-width, 1.5px);
  stroke-dasharray:2.2 97.8;
  animation-name:zs-submit-core-run;
  filter:drop-shadow(0 0 1.2px rgba(255,183,83,.88));
}

.zs-busyBorderRunner--blue-glow{
  stroke:rgba(251,146,60,.18);
  stroke-width:max(.5px, calc(var(--zs-busy-stroke-width, 1.5px) - .65px));
  stroke-dasharray:24 76;
  filter:blur(1.35px) drop-shadow(0 0 5px rgba(251,146,60,.38));
  animation-name:zs-submit-blue-glow-run;
}

.zs-busyBorderRunner--blue-tail-far{
  stroke:rgba(251,146,60,.24);
  stroke-width:max(.5px, calc(var(--zs-busy-stroke-width, 1.5px) - .65px));
  stroke-dasharray:20 80;
  filter:blur(.75px);
  animation-name:zs-submit-blue-tail-far-run;
}

.zs-busyBorderRunner--blue-tail-soft{
  stroke:rgba(252,152,62,.32);
  stroke-width:max(.5px, calc(var(--zs-busy-stroke-width, 1.5px) - .65px));
  stroke-dasharray:16 84;
  filter:blur(.45px);
  animation-name:zs-submit-blue-tail-soft-run;
}

.zs-busyBorderRunner--blue-tail-medium{
  stroke:rgba(255,163,70,.44);
  stroke-width:max(.5px, calc(var(--zs-busy-stroke-width, 1.5px) - .65px));
  stroke-dasharray:12 88;
  filter:blur(.2px);
  animation-name:zs-submit-blue-tail-medium-run;
}

.zs-busyBorderRunner--blue-tail-near{
  stroke:rgba(255,177,84,.62);
  stroke-width:max(.5px, calc(var(--zs-busy-stroke-width, 1.5px) - .65px));
  stroke-dasharray:8 92;
  filter:drop-shadow(0 0 1.8px rgba(251,146,60,.72));
  animation-name:zs-submit-blue-tail-near-run;
}

.zs-busyBorderRunner--blue-core{
  stroke:#ffe0ad;
  stroke-width:max(.5px, calc(var(--zs-busy-stroke-width, 1.5px) - .65px));
  stroke-dasharray:4 96;
  filter:drop-shadow(0 0 1.5px rgba(255,194,104,.96));
  animation-name:zs-submit-blue-core-run;
}

@media (prefers-reduced-motion:reduce){
  button.zs-busy,
  .zs-submitBusyLabel,
  .zs-busyBorder{
    transition:none !important;
  }

  .zs-busyBorderStatic{
    opacity:0;
  }

  .zs-submitBusyLabel,
  .zs-busyBorder{
    opacity:1;
    transform:none;
  }
}
