*,
::after,
::before {
  box-sizing: border-box;
}

:host {
  --gx-query-viewer-card-sparkline-color: currentColor;
  display: grid;
  grid-template: "value ." min-content "title ." min-content "sparkline trend" min-content "values-container ." min-content/max-content min-content;
  text-align: center;
}

:host(.gx-query-viewer-card--sparkline) {
  grid-template: "value" min-content "title" min-content "sparkline" min-content "values-container" min-content/max-content;
}

:host(.gx-query-viewer-card--trend) {
  grid-template: "value trend" min-content "title ." min-content "values-container ." min-content/max-content min-content;
}

.value {
  grid-area: value;
  font-size: 2.75em;
}

.title {
  grid-area: title;
  font-size: 0.875em;
}

.card-sparkline {
  grid-area: sparkline;
  position: relative;
  display: flex;
  justify-content: center;
}

.trend {
  grid-area: trend;
  padding-top: 25px;
}

.values-container {
  display: grid;
  grid-template-columns: max-content max-content;
  grid-area: values-container;
  justify-content: center;
  column-gap: 1.25em;
  row-gap: 0.125em;
}

.max-min-title {
  font-size: 0.75em;
}

.max-min-value {
  font-size: 1.125em;
}