/**
 * Canalla Design System — reusable primitives.
 * These classes are additive and do not replace legacy selectors yet.
 */
.canalla-ui-glass {
  background: var(--canalla-glass-bg);
  border: 1px solid var(--canalla-glass-border);
  border-radius: var(--canalla-radius-lg);
  backdrop-filter: blur(var(--canalla-glass-blur));
  -webkit-backdrop-filter: blur(var(--canalla-glass-blur));
  box-shadow: var(--canalla-shadow-glass);
}

.canalla-ui-button {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--canalla-radius-md);
  font-family: var(--canalla-font-primary);
  text-decoration: none;
  transition: transform var(--canalla-duration-fast) var(--canalla-ease-standard),
              background var(--canalla-duration-fast) var(--canalla-ease-standard),
              color var(--canalla-duration-fast) var(--canalla-ease-standard),
              border-color var(--canalla-duration-fast) var(--canalla-ease-standard);
}

.canalla-ui-button--gold {
  color: var(--canalla-color-gold);
  border: 1px solid rgba(214, 177, 31, 0.3);
  background: linear-gradient(180deg, #1d1f26 0%, #171920 100%);
}

.canalla-ui-button--gold:hover {
  color: var(--canalla-color-background);
  border-color: var(--canalla-color-gold);
  background: var(--canalla-color-gold);
  transform: translateY(-2px);
}

.canalla-ui-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 var(--canalla-space-sm);
  border-radius: var(--canalla-radius-pill);
  font-family: var(--canalla-font-primary);
  line-height: 1;
}

.canalla-ui-section {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.canalla-ui-stack {
  display: flex;
  flex-direction: column;
  gap: var(--canalla-space-md);
}
