/* Supplied 342 x 342 transparent Paradigm mark; never stretch the tall logo.
   A display-only brightness adjustment keeps its gray faces visible on dark
   surfaces. The source PNG is unchanged. */
:root { --paradigm-spinner-image: url("../img/paradigm/spinner.8f0143ec595f.png"); }
.crs-spinner,
.spinner-border,
.spinner-grow,
.fa-spinner,
.fa-circle-notch {
  display: inline-block; width: 18px; height: 18px; flex: 0 0 auto;
  vertical-align: middle; object-fit: contain; box-sizing: border-box;
  background: var(--paradigm-spinner-image) center / contain no-repeat !important;
  border: 0 !important; border-radius: 0 !important;
  filter: brightness(2.5); opacity: 1;
  animation: paradigm-mark-spin .9s linear infinite !important;
}
img.crs-spinner { background: none !important; }
.crs-spinner-sm, .crs-spinner--sm, .spinner-border-sm { width: 14px; height: 14px; }
.crs-spinner-lg, .crs-spinner--lg { width: 40px; height: 40px; }
.fa-spinner::before, .fa-circle-notch::before { content: none !important; }
.fa-spinner > path, .fa-circle-notch > path { display: none; }
.paradigm-loading-indicator {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px; vertical-align: middle; line-height: 1.5;
}
.paradigm-loading-label:empty { display: none; }
.crs-spinner + .paradigm-loading-label { margin-left: 8px; }
#page-loading-overlay .crs-spinner { width: 48px; height: 48px; }
/* Retain vendor request lifecycles, replace only their visual indicators. */
.select2-results__option.loading-results::before,
.select2-results__option--load-more::before,
.dt-processing:not(:has(.crs-spinner))::before,
.dataTables_processing:not(:has(.crs-spinner))::before {
  content: ''; display: inline-block; width: 14px; height: 14px;
  margin-right: 8px; vertical-align: middle;
  background: var(--paradigm-spinner-image) center / contain no-repeat;
  filter: brightness(2.5); animation: paradigm-mark-spin .9s linear infinite;
}
.dt-processing, .dataTables_processing {
  color: #DFDEDE !important; background: #111 !important;
  border: 1px solid #3a3a3f; border-radius: 4px;
}
.dt-processing > div, .dataTables_processing > div { display: none !important; }
body.clair-spacex .cv3-ws.is-ws-loading { opacity: 1; }
body.clair-spacex .cv3-ws.is-ws-loading > :not(.paradigm-loading-indicator) { opacity: .55; }
body.clair-spacex .cv3-ws > .paradigm-loading-indicator { padding: 12px 0; color: #DFDEDE; }
@keyframes paradigm-mark-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .crs-spinner, .spinner-border, .spinner-grow, .fa-spinner, .fa-circle-notch,
  .select2-results__option.loading-results::before,
  .select2-results__option--load-more::before,
  .dt-processing::before, .dataTables_processing::before {
    animation: none !important;
  }
}
