/* Botones sólidos aprobados. Se conservan las dimensiones y los colores de estado. */
:root {
  --vg-button-primary: #00e5a0;
  --vg-button-ink: #07372d;
}

button, a[class*="btn"], a[role="button"],
.nav-cta, .mobile-nav-cta, .mobile-login, .vgeo-tour-btn, .vg-solid-action {
  border-radius: 5px !important;
}

.btn-primary, .nav-cta, .nav-links a.nav-cta, .mobile-nav-cta,
.btn-login, .btn-submit, .btn-new, .btn-upload,
.vgeo-tour-btn.primary, .vg-solid-action {
  color: var(--vg-button-ink) !important;
  background: var(--vg-button-primary) !important;
  box-shadow: none !important;
  transition: background-color .18s !important;
}

:is(.btn-primary, .nav-cta, .nav-links a.nav-cta, .mobile-nav-cta,
    .btn-login, .btn-submit, .btn-new, .btn-upload,
    .vgeo-tour-btn.primary, .vg-solid-action):hover:not(:disabled):not([aria-disabled="true"]) {
  background: #28edb2 !important;
  opacity: 1;
  transform: none;
}

.btn-secondary {
  color: #fff !important;
  background: rgba(10, 24, 32, .32) !important;
  border: 1px solid rgba(255, 255, 255, .65);
  backdrop-filter: none;
  transition: background-color .18s, border-color .18s;
}
.btn-secondary:hover:not(:disabled) {
  background: rgba(10, 24, 32, .55) !important;
  border-color: #fff;
  transform: none;
}
.vg-light-page .btn-secondary {
  color: #20353d !important;
  background: #ecf0f1 !important;
  border-color: #bdcdd1;
}
.vg-light-page .btn-secondary:hover:not(:disabled) {
  background: #dfe4e9 !important;
}

.nav-center button.active, .tab-btn.active {
  color: var(--vg-button-ink) !important;
  background: var(--vg-button-primary) !important;
  box-shadow: none !important;
}

/* Las acciones de reactivación y cancelación conservan su señal naranja. */
.btn-reactivate, .btn-confirm-reactivate, .btn-submit.vg-action-warning {
  color: #2b1608 !important;
  background: #fb923c !important;
  box-shadow: none !important;
}
:is(.btn-reactivate, .btn-confirm-reactivate, .btn-submit.vg-action-warning):hover:not(:disabled) {
  background: #fdba74 !important;
  transform: none;
}

:is(button, a[class*="btn"], a[role="button"], .nav-cta,
    .mobile-nav-cta, .mobile-login, .vgeo-tour-btn, .vg-solid-action):focus-visible {
  outline: 2px solid var(--vg-button-primary);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  button, a[class*="btn"], .nav-cta, .mobile-nav-cta, .vgeo-tour-btn { transition: none !important; }
}
