// =============================================================================
// Callout — inline contextual alert for persistent information within a panel
// =============================================================================

.callout {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
  font-size: var(--font-size-sm);
  line-height: var(--line-height);

  // Variant: success (green)
  &.success {
    background: var(--accent-green-dim);
    border-color: var(--accent-green-border);

    .icon {
      color: var(--accent-green);
    }
  }

  // Variant: error (red)
  &.error {
    background: var(--accent-red-dim);
    border-color: var(--accent-red-border);

    .icon {
      color: var(--accent-red);
    }
  }

  // Variant: warning (yellow)
  &.warning {
    background: var(--accent-yellow-dim);
    border-color: var(--accent-yellow-border);

    .icon {
      color: var(--accent-yellow);
    }
  }

  // Variant: info (blue)
  &.info {
    background: var(--accent-blue-dim);
    border-color: var(--accent-blue-border);

    .icon {
      color: var(--accent-blue);
    }
  }
}

.icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
}

.content {
  flex: 1;
  color: var(--text-primary);
}

.close {
  background: none;
  border: none;
  color: var(--text-tertiary);
  font-size: var(--font-size-lg);
  cursor: pointer;
  padding: 0 var(--space-xs);
  line-height: 1;
  flex-shrink: 0;
  transition: color var(--transition-fast);

  &:hover {
    color: var(--text-primary);
  }
}
