/* ==========================================
   PVveda Design System - Metronic Style Buttons
   ========================================== */

.pv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.6rem 1.25rem;
  font-family: var(--font-family-base);
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: var(--radius-sm); /* Metronic rounded-md (6px) */
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  line-height: 1.35;
}

/* Stationary Hover (No movement/jumping on hover) */
.pv-btn:hover,
.pv-btn:focus,
.pv-btn:active {
  transform: none !important;
}

/* 1. Primary Button (Dark in Light Mode, Vibrant Amber in Dark Mode) */
.pv-btn-dark,
.pv-btn-primary {
  background-color: var(--bg-dark-pill);
  color: var(--text-dark-pill) !important;
  border-color: var(--bg-dark-pill);
}

.pv-btn-dark:hover,
.pv-btn-primary:hover {
  background-color: var(--bg-dark-pill-hover);
  border-color: var(--bg-dark-pill-hover);
  color: var(--text-dark-pill) !important;
}

/* 2. Secondary Light Button */
.pv-btn-light,
.pv-btn-secondary {
  background-color: var(--bg-surface);
  color: var(--text-main) !important;
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-sm);
}

.pv-btn-light:hover,
.pv-btn-secondary:hover {
  background-color: var(--bg-card-subtle);
  border-color: var(--border-indigo);
  color: var(--primary-hover) !important;
}

/* 3. Blue Accent Button (AAA Contrast Ratio: #FFFFFF on #4F46E5) */
.pv-btn-blue {
  background-color: #4F46E5;
  color: #FFFFFF !important;
  border-color: #4F46E5;
  font-weight: 700;
}

.pv-btn-blue:hover {
  background-color: #4338CA;
  border-color: #4338CA;
  color: #FFFFFF !important;
}

/* 4. Outline Primary Button */
.pv-btn-outline-primary {
  background: transparent;
  color: var(--primary-hover) !important;
  border: 1.5px solid var(--primary-hover);
}

.pv-btn-outline-primary:hover {
  background: var(--primary-light);
}

/* 5. Warning Button */
.pv-btn-warning {
  background-color: #F59E0B;
  color: #FFFFFF !important;
  border-color: #F59E0B;
  font-weight: 600;
}

.pv-btn-warning:hover {
  background-color: #D97706;
  border-color: #D97706;
  color: #FFFFFF !important;
}

/* Sizing Modifiers */
.pv-btn-sm {
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
}

.pv-btn-lg {
  padding: 0.75rem 1.6rem;
  font-size: 1rem;
}

.pv-btn-pill {
  border-radius: var(--radius-pill);
}

.pv-btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}
