/* Supplied Astrix effect, recolored to the site's lime accent. */
:root {
 --mvm-accent: var(--color-verde);
 --mvm-label: #102000;
 --mvm-icon-background: #ffffff;
 --mvm-icon-ink: #000000;
 --mvm-gradient: radial-gradient(67.54% 100.03% at 50% 0%, color-mix(in srgb, var(--mvm-accent), white 70%) 0%, color-mix(in srgb, var(--mvm-accent), white 42%) 14%, color-mix(in srgb, var(--mvm-accent), white 16%) 32%, var(--mvm-accent) 62.5%, color-mix(in srgb, var(--mvm-accent), black 30%) 100%);
 --mvm-border: color-mix(in srgb, var(--mvm-accent) 72%, transparent);
 --mvm-shadow-near: color-mix(in srgb, var(--mvm-accent) 34%, transparent);
 --mvm-shadow-far: color-mix(in srgb, var(--mvm-accent) 52%, transparent);
 --mvm-glow: color-mix(in srgb, var(--mvm-accent) 38%, transparent);
 --mvm-shadow-small: color-mix(in srgb, var(--mvm-accent) 28%, transparent);
 --mvm-glow-small: color-mix(in srgb, var(--mvm-accent) 24%, transparent);
}
/* MVM Button — radial volt green gradient with sliding shine + icon swap */

a.mvm-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  padding: 20px 50px 20px 70px;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  color: var(--mvm-label) !important;
  text-decoration: none;
  cursor: pointer;
  border-radius: 15.623px !important;
  border: 1.196px solid var(--mvm-border) !important;
  background: var(--mvm-gradient) !important;
  box-shadow:
    0 6px 24px 0 var(--mvm-shadow-near),
    0 14px 54px 0 var(--mvm-shadow-far);
  overflow: hidden;
  isolation: isolate;
  transition: all 0.5s ease;
  z-index: 1;
}

.mvm-btn-glow {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--mvm-glow);
  filter: blur(18px);
  transform: scale(0.94);
  pointer-events: none;
  z-index: 0;
}

.mvm-btn-gloss {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.08) 28%, rgba(255, 255, 255, 0) 56%);
  pointer-events: none;
  z-index: 1;
}

.mvm-btn:hover {
  filter: brightness(1.2);
  padding: 20px 50px 20px 70px;
}

.mvm-btn-text {
  position: relative;
  z-index: 2;
  transition: transform 0.5s ease;
}

.mvm-btn:hover .mvm-btn-text {
  transform: translateX(-10px) scale(1.05);
}

/* Icon containers */
.mvm-btn-icon {
  position: absolute;
  top: 50%;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--mvm-icon-background);
  border-radius: 50%;
  color: var(--mvm-icon-ink);
  z-index: 2;
  transition: all 0.5s ease;
}

/* Left icon: visible by default */
.mvm-btn-icon-left {
  left: 18px;
  transform: translateY(-50%) scale(1);
  opacity: 1;
}

/* Right icon: hidden by default */
.mvm-btn-icon-right {
  right: 18px;
  transform: translateY(-50%) scale(0.6);
  opacity: 0;
}

.mvm-btn:hover .mvm-btn-icon-left {
  transform: translateY(-50%) scale(0.6);
  opacity: 0;
}

.mvm-btn:hover .mvm-btn-icon-right {
  transform: translateY(-50%) scale(1) rotate(360deg);
  opacity: 1;
}

/* Shine sweep */
.mvm-btn-shine {
  position: absolute;
  top: -20%;
  left: -35%;
  height: 140%;
  width: 28%;
  border-radius: 999px;
  opacity: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.2) 18%,
    rgba(255, 255, 255, 0.56) 36%,
    rgba(255, 255, 255, 1) 50%,
    rgba(255, 255, 255, 0.56) 64%,
    rgba(255, 255, 255, 0.2) 82%,
    rgba(255, 255, 255, 0) 100%
  );
  box-shadow: none;
  -webkit-mask-image: radial-gradient(ellipse 64% 54% at 50% 50%, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.98) 48%, rgba(0, 0, 0, 0.78) 66%, rgba(0, 0, 0, 0) 100%);
  mask-image: radial-gradient(ellipse 64% 54% at 50% 50%, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.98) 48%, rgba(0, 0, 0, 0.78) 66%, rgba(0, 0, 0, 0) 100%);
  transform: skewX(-20deg) translateX(0);
  mix-blend-mode: plus-lighter;
  pointer-events: none;
  will-change: transform, opacity;
  animation: mvm-shine 2.2s ease-in-out infinite;
  z-index: 1;
}

@keyframes mvm-shine {
  0% {
    opacity: 0;
    transform: skewX(-20deg) translateX(0);
  }
  20% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.9;
  }
  80% {
    opacity: 0.4;
  }
  100% {
    opacity: 0;
    transform: skewX(-20deg) translateX(420%);
  }
}

/* Small variant — para uso na Navbar */
.mvm-btn.mvm-btn-sm {
  padding: 6px 16px 6px 30px;
  font-size: 11.5px;
  border-radius: 999px;
}
.mvm-btn.mvm-btn-sm:hover {
  padding: 6px 30px 6px 16px;
}
.mvm-btn.mvm-btn-sm .mvm-btn-icon {
  width: 18px;
  height: 18px;
}
.mvm-btn.mvm-btn-sm .mvm-btn-icon-left {
  left: 6px;
}
.mvm-btn.mvm-btn-sm .mvm-btn-icon-right {
  right: 6px;
}

/* Full width variant — para botões em formulários */
.mvm-btn.mvm-btn-full {
  display: flex;
  width: 100%;
  padding: 16px 50px 16px 70px;
  font-family: inherit;
}
.mvm-btn.mvm-btn-full:hover {
  padding: 16px 70px 16px 50px;
}

.mvm-btn.mvm-btn-disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

button.mvm-btn {
  border: 1.196px solid var(--mvm-border) !important;
  font-family: inherit;
}

/* Mobile: reduz drasticamente o glow/shadow externo do botão sm (Navbar)
   pra não vazar a sombra pra fora do container arredondado */
@media (max-width: 768px) {
  .mvm-btn.mvm-btn-sm {
    box-shadow:
      0 2px 8px 0 var(--mvm-shadow-small),
      0 4px 14px 0 var(--mvm-glow);
  }
  .mvm-btn.mvm-btn-sm .mvm-btn-glow {
    filter: blur(8px);
    background: var(--mvm-glow-small);
    transform: scale(0.96);
  }
}


a.mvm-btn { height:auto!important; min-height:60px; max-width:100%; text-shadow:none; letter-spacing:0; flex-shrink:0; }
a.mvm-btn::before,a.mvm-btn::after { display:none!important; }
a.mvm-btn .mvm-btn-text { min-width:0; white-space:normal; text-align:center; }
a.mvm-btn .mvm-btn-icon svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.5; }
a.mvm-btn.mvm-btn-sm { padding:6px 30px!important; min-height:34px; border-radius:999px!important; font-size:11.5px!important; }
a.mvm-btn.mvm-btn-sm .mvm-btn-icon svg { width:12px; height:12px; }
a.mvm-btn:focus-visible { outline:2px solid var(--mvm-accent); outline-offset:4px; }
.mvm-btn .mvm-btn-shine { animation-play-state:paused; }
.mvm-btn.mvm-in-view .mvm-btn-shine { animation-play-state:running; }
@media(max-width:640px) { a.mvm-btn:not(.mvm-btn-sm) { padding:16px 42px 16px 58px; font-size:16px; } a.mvm-btn:not(.mvm-btn-sm):hover { padding:16px 42px 16px 58px; } }
@media(prefers-reduced-motion:reduce) { a.mvm-btn,.mvm-btn * { transition:none!important; } .mvm-btn .mvm-btn-shine { animation:none; } }
