/* loaders.css: the walking cat and the cat spinner. */

/* ---- Walking cat ---- */
.ev-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;          /* full width of the column, so the cat is centred in it */
  grid-column: 1 / -1;  /* if it lands in a grid with columns, it takes the whole row */
  padding: 18px 0 32px;
}

.ev-loader[hidden] {
  display: none;
}

.ev-loader__art {
  display: block;
  height: auto;
  aspect-ratio: 226 / 119;
}

.ev-loader__label {
  margin: 0;
  font-family: var(--font-sans, Montserrat, system-ui, sans-serif);
  font-size: 13.5px;
  line-height: 18px;
  color: var(--color-ink-secondary, #4e3b66);
}

.ev-loader--dark .ev-loader__label {
  color: #b8b4c1;
}

.ev-loader--dark-purple .ev-loader__label {
  color: #b2b0c7;
}

/* ---- Spinner ---- */
.ev-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  vertical-align: middle;
}

.ev-spinner[hidden] {
  display: none;
}

.ev-spinner__art {
  display: block;
  height: auto;
  aspect-ratio: 1 / 1;
}

/* Spinner with visible text under it (caption=…): full width, centred */
.ev-spinner--stacked {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  grid-column: 1 / -1;
  padding: 18px 0 32px;
  line-height: normal;
}

.ev-spinner__caption {
  margin: 0;
  font-family: var(--font-sans, Montserrat, system-ui, sans-serif);
  font-size: 13.5px;
  line-height: 18px;
  color: var(--color-ink-secondary, #4e3b66);
}

.ev-spinner--dark .ev-spinner__caption {
  color: #b8b4c1;
}

.ev-spinner--dark-purple .ev-spinner__caption {
  color: #b2b0c7;
}

/* Text only screen readers hear */
.ev-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}