/* Demo layout shared by the chart catalog pages. Catalog only. */

@import "https://assets.elements.dev/assets/app/shared/ui-catalog/catalog/style.c38e1d7304920e3.css";

.chart-demo-card {
  width:     100%;
  max-width: var(--container-sm);
}

.chart-demo-plain {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-3);
  width:          100%;
  max-width:      var(--container-md);
}

.chart-demo-row {
  display:     flex;
  flex-wrap:   wrap;
  align-items: center;
  gap:         var(--space-3);
}

.chart-demo-footer {
  flex-direction: column;
  align-items:    flex-start;
  gap:            var(--space-2);
  font-size:      var(--text-sm);
}

.chart-demo-trend {
  display:     flex;
  align-items: center;
  gap:         var(--space-2);
  font-weight: var(--weight-ui);
  line-height: 1;
}

.chart-demo-trend svg {
  width:  var(--icon-size);
  height: var(--icon-size);
}

.chart-demo-note {
  color:       var(--ink-dim);
  line-height: 1;
}

.chart-demo-wide {
  aspect-ratio: auto;
  height:       var(--space-64);
}

.chart-demo-interactive {
  max-width: var(--container-xl);
  padding:   0;
  gap:       0;
}

.chart-demo-head {
  display:        flex;
  flex-direction: column;
  border-bottom:  var(--surface-border-width) solid var(--surface-border);
}

.chart-demo-head-text {
  display:         flex;
  flex:            1;
  flex-direction:  column;
  justify-content: center;
  gap:             var(--space-1);
  padding:         var(--space-4) var(--surface-padding) var(--space-3);
}

.chart-demo-switch {
  display: flex;
}

.chart-demo-switch-button {
  display:         flex;
  flex:            1;
  flex-direction:  column;
  justify-content: center;
  align-items:     flex-start;
  gap:             var(--space-1);
  height:          auto;
  padding:         var(--space-4) var(--surface-padding);
  border:          0;
  border-top:      var(--surface-border-width) solid var(--surface-border);
  border-radius:   0;
  background:      transparent;
  box-shadow:      none;
  text-align:      start;
  cursor:          pointer;
}

.chart-demo-switch-button + .chart-demo-switch-button {
  border-inline-start: var(--surface-border-width) solid var(--surface-border);
}

.chart-demo-switch-button[data-active="true"] {
  background: var(--bg-muted);
}

.chart-demo-switch-button:focus-visible {
  outline:    none;
  box-shadow: var(--focus-ring);
}

.chart-demo-switch-label {
  font-size: var(--text-caption);
  color:     var(--ink-dim);
}

.chart-demo-switch-value {
  font-family: var(--font-heading);
  font-size:   var(--text-lg);
  font-weight: var(--weight-heading);
  line-height: 1;
  color:       var(--ink);
}

.chart-demo-body {
  padding: var(--space-4) var(--space-2);
}

@media (min-width: 40rem) {
  .chart-demo-head {
    flex-direction: row;
  }

  .chart-demo-head-text {
    padding: 0 var(--surface-padding);
  }

  .chart-demo-switch-button {
    padding:             var(--space-6) var(--space-8);
    border-top:          0;
    border-inline-start: var(--surface-border-width) solid var(--surface-border);
  }

  .chart-demo-switch-value {
    font-size: var(--text-3xl);
  }

  .chart-demo-body {
    padding: var(--surface-padding);
  }
}

.chart-demo-range {
  display:     flex;
  align-items: center;
  padding:     0 var(--surface-padding) var(--space-4);
}

@media (min-width: 40rem) {
  .chart-demo-range {
    padding: var(--space-4) var(--surface-padding);
  }
}

.chart-demo-center .card-head {
  text-align: center;
  align-items: center;
}

.chart-demo-pie-tall {
  --chart-polar-size: calc(var(--space-64) + var(--space-12));
}

.chart-demo-head.is-row {
  flex-direction:  row;
  align-items:     center;
  justify-content: space-between;
}

.chart-demo-head.is-row .chart-demo-head-text {
  padding: var(--space-4) var(--surface-padding);
}

.chart-demo-head.is-row .chart-demo-range {
  padding: var(--space-4) var(--surface-padding);
}

.chart-demo-pair {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--space-48), 1fr));
  gap:                   var(--space-6);
  width:                 100%;
  max-width:             var(--container-lg);
}

.chart-demo-palette {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--space-32), 1fr));
  gap:                   var(--space-3);
  width:                 100%;
  margin:                0;
  padding:               0;
  list-style:            none;
}

.chart-demo-palette li {
  display:     flex;
  align-items: center;
  gap:         var(--space-2);
  font-size:   var(--text-xs);
}

.chart-demo-palette-swatch {
  width:         var(--space-6);
  height:        var(--space-6);
  border-radius: var(--radius-item);
  background:    var(--swatch);
}

.chart-demo-plain > .button {
  align-self: flex-start;
}

/* A gallery of small charts, one option each, with its option as a caption. */
.chart-demo-gallery {
  display:               grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--container-xs)), 1fr));
  gap:                   var(--space-6) var(--space-4);
  width:                 100%;
}

.chart-demo-gallery > div {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-2);
  min-width:      0;
}

.chart-demo-caption {
  font-family: var(--font-mono);
  font-size:   var(--text-xs);
  color:       var(--ink-dim);
}
