/* Demo card chrome — generata da js/components.js.
 * Wrapper, header, preview, token panel, controls. */

#component-catalog {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-600);
}

.lumia-demo {
  display: flex;
  flex-direction: column;
  background-color: var(--color-surface-default);
  border: var(--border-width-thin) solid var(--color-border-default);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-static);
  overflow: hidden;
}

.lumia-demo__tokens {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-400) var(--spacing-200);
  padding: var(--spacing-300);
  background-color: var(--color-surface-raised);
  font-size: var(--font-size-body-small);
}

.lumia-demo__tokens-empty {
  color: var(--color-text-subtle);
  font-style: italic;
}

.lumia-demo__token-row {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-025);
  line-height: 1.3;
}

.lumia-demo__token-head {
  display: flex;
  align-items: center;
  gap: var(--spacing-050);
}

.lumia-demo__token-row code {
  font-family: var(--font-family-code);
  font-size: 0.85em;
  word-break: break-word;
}

.lumia-demo__token-value {
  color: var(--color-text-subtle);
}

.lumia-demo__token-swatch {
  display: inline-block;
  width: 0.85em;
  height: 0.85em;
  margin-inline-end: var(--spacing-050);
  vertical-align: -2px;
  border-radius: var(--radius-small);
  border: var(--border-width-thin) solid var(--color-border-default);
}

.lumia-demo__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-200);
  padding: var(--spacing-300) var(--spacing-300) var(--spacing-200);
}

.lumia-demo__mantine-link {
  margin-inline-start: auto;
}

.lumia-demo__head code {
  font-family: var(--font-family-code);
  font-size: 0.9em;
  background-color: var(--color-surface-raised);
  padding: 0 var(--spacing-050);
  border-radius: var(--radius-small);
}

.lumia-demo__preview {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-200);
  align-items: center;
  padding: var(--spacing-500) var(--spacing-300);
  min-height: 80px;
  border-top: var(--border-width-thin) solid transparent;
  background-image: linear-gradient(to right, var(--color-border-default) 50%, transparent 0);
  background-size: var(--spacing-150) var(--border-width-thin);
  background-position: top;
  background-repeat: repeat-x;
  border-bottom: var(--border-width-thin) solid var(--color-border-default);
}

.lumia-demo__preview::before {
  content: "DEMO";
  flex-basis: 100%;
  color: var(--color-text-brand);
  font-size: var(--font-size-body-small);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
}

.lumia-demo__filler {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  min-height: 40px;
  padding: var(--spacing-100) var(--spacing-200);
  background-color: var(--color-item-primary-idle);
  color: var(--color-text-inverse);
  border-radius: var(--radius-small);
  font-size: var(--font-size-body-small);
  font-weight: var(--font-weight-medium);
}

.lumia-demo__stack {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-150);
}

.lumia-demo__preview > .lumia-field {
  width: min(100%, 260px);
}

.lumia-demo__preview > .lumia-field:has(.lumia-text-area) {
  width: min(100%, 320px);
}

.lumia-demo__controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-200);
  align-items: flex-end;
  padding: 0 var(--spacing-300) var(--spacing-300);
}

.lumia-demo__controls .lumia-field__label {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-050);
  min-width: 140px;
}

.lumia-demo__controls .lumia-field__label:has([data-component-control$="-state"]) {
  min-width: 220px;
}
