/* DATA PLANET - Unified button system using CSS variables */
:root {
  /* Button Size */
  --btn-height: 44px;
  --btn-padding-x: 16px;
  --btn-padding-y: 0;
  --btn-border-radius: 8px;
  --btn-font-size: 14px;
  --btn-font-weight: 600;
  --btn-line-height: 20px;

  /* Colors */
  --color-primary: #465FFF;
  --color-primary-hover: #3641F5;

  --color-success: #12B76A;
  --color-success-hover: #039855;

  --color-error: #F04438;
  --color-error-hover: #D92D20;

  --color-warning: #F79009;
  --color-warning-hover: #DC6803;

  --color-info: #0BA5EC;
  --color-info-hover: #0086C9;

  --color-light: #98A2B3;
  --color-light-hover: #667085;

  --color-dark: #101828;
  --color-dark-hover: #1D2939;

  --btn-text-color: #FFFFFF;
}

.dp-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.dp-btn,
.dp-btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  box-sizing: border-box;
  height: var(--btn-height) !important;
  padding: var(--btn-padding-y) var(--btn-padding-x) !important;
  border-radius: var(--btn-border-radius) !important;

  border: 0 !important;
  outline: none;

  color: var(--btn-text-color) !important;
  background-color: var(--btn-bg, var(--color-primary)) !important;

  font-size: var(--btn-font-size) !important;
  font-weight: var(--btn-font-weight) !important;
  line-height: var(--btn-line-height) !important;

  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;

  transition: background-color 0.2s ease, transform 0.2s ease;
  box-shadow: none !important;
}

.dp-btn:hover {
  color: var(--btn-text-color) !important;
  background-color: var(--btn-hover, var(--color-primary-hover)) !important;
  transform: translateY(-1px);
}

.dp-btn:active {
  transform: translateY(0);
}

.dp-btn svg {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.dp-btn:disabled,
.dp-btn[disabled],
.dp-btn[aria-disabled="true"] {
  opacity: 0.65;
  pointer-events: none;
}
