/* ── marina-inline-spinner — Light DOM styles ──────────────────── */
.marina-internal-spinner {
  display: contents;
}

.marina-inline-spinner {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm1);
  color: var(--cds-theme-text);
}

/* ── Label ─────────────────────────────────────────────────────── */
.marina-inline-spinner__label {
  font-family: var(--cds-typography-font-family-body-regular-base);
  font-size: var(--cds-typography-font-size-body-regular-base);
  font-weight: var(--cds-typography-font-weight-body-regular-base);
  line-height: var(--cds-typography-line-height-body-regular-base);
  color: var(--cds-theme-text);
}

.marina-inline-spinner--small .marina-inline-spinner__label {
  font-size: var(--cds-typography-font-size-body-sm-regular-base);
  line-height: var(--cds-typography-line-height-body-sm-regular-base);
}

/* ── Spinner ring (loading state) ──────────────────────────────── */
.marina-inline-spinner__ring {
  display: inline-block;
  flex-shrink: 0;
  border-radius: var(--cds-radius-circle);
  border-style: solid;
  border-color: currentColor;
  border-top-color: transparent;
  animation: marina-inline-spinner-spin 0.7s linear infinite;
}

.marina-inline-spinner--small .marina-inline-spinner__ring {
  width: 1rem;   /* 16px */
  height: 1rem;
  border-width: var(--cds-border-sm);
}

.marina-inline-spinner--large .marina-inline-spinner__ring {
  width: 1.5rem;  /* 24px */
  height: 1.5rem;
  border-width: var(--cds-border-sm);
}

@keyframes marina-inline-spinner-spin {
  to { transform: rotate(360deg); }
}

/* ── Status icons ──────────────────────────────────────────────── */
.marina-inline-spinner__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.marina-inline-spinner__icon--success {
  color: var(--cds-color-utility-success-shade);
}

.marina-inline-spinner__icon--error {
  color: var(--cds-color-utility-error-shade);
}

/* ── Color themes (loading state only) ─────────────────────────── */
/* theme-default: inherits --cds-color-neutral-black via --cds-theme-text */

.marina-inline-spinner--theme-blue.marina-inline-spinner--state-loading {
  color: var(--cds-color-primary-blue);
}

.marina-inline-spinner--theme-purple.marina-inline-spinner--state-loading {
  color: var(--cds-color-primary-purple);
}

.marina-inline-spinner--theme-teal.marina-inline-spinner--state-loading {
  color: var(--cds-color-primary-teal);
}

.marina-inline-spinner--theme-yellow.marina-inline-spinner--state-loading {
  color: var(--cds-color-primary-yellow);
}

.marina-inline-spinner--theme-green.marina-inline-spinner--state-loading {
  color: var(--cds-color-primary-green);
}

.marina-inline-spinner--theme-dark.marina-inline-spinner--state-loading {
  color: var(--cds-color-neutral-white);
}
