/* Web3Modal Custom Styles */

/* Web3 connection state */
.web3-connecting {
  cursor: progress;
}

.web3-connecting button {
  opacity: 0.7;
  pointer-events: none;
}

/* Web3Modal Customization (overrides for provider modal) */
#WEB3_CONNECT_MODAL_ID .web3modal-provider-wrapper {
  border-radius: 8px;
  padding: 8px;
}

#WEB3_CONNECT_MODAL_ID .web3modal-provider-container {
  background-color: var(--bs-dark-bg-subtle);
  border-radius: 8px;
  padding: 16px;
  transition: all 0.2s ease;
}

#WEB3_CONNECT_MODAL_ID .web3modal-provider-container:hover {
  background-color: var(--bs-tertiary-bg);
}

#WEB3_CONNECT_MODAL_ID .web3modal-provider-name {
  font-weight: 600;
  color: var(--bs-heading-color);
}

#WEB3_CONNECT_MODAL_ID .web3modal-provider-description {
  color: var(--bs-secondary-color);
  font-size: 0.875rem;
}

/* Status Messages */
#web3-status .alert {
  border-left: 4px solid var(--bs-primary);
  border-radius: 3px;
  margin-bottom: 1rem;
}

#web3-status .alert-success {
  border-left-color: var(--bs-success);
}

#web3-status .alert-warning {
  border-left-color: var(--bs-warning);
}

#web3-status .alert-danger {
  border-left-color: var(--bs-danger);
}

/* Web3 Wallet Button */
[data-action="connect-wallet"] {
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}

[data-action="connect-wallet"]::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: -100%;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transition: all 0.6s ease;
}

[data-action="connect-wallet"]:hover::after {
  left: 100%;
}

/* Profile completion form */
#web3-profile-completion-container {
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Custom Modal (Internal) */
.web3-steps {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.web3-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding: 0 1rem;
}

.web3-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 12px;
  width: 100%;
  height: 2px;
  background-color: #e9ecef;
  left: 50%;
  z-index: 0;
}

.web3-step-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #f8f9fa;
  border: 2px solid #e9ecef;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 1;
  font-size: 0.75rem;
  font-weight: bold;
}

.web3-step.active .web3-step-icon {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: white;
}

.web3-step.complete .web3-step-icon {
  background-color: var(--bs-success);
  border-color: var(--bs-success);
  color: white;
}

.web3-step-text {
  font-size: 0.75rem;
  text-align: center;
  white-space: nowrap;
}